Gan*_*ran 6 selenium click selenium-webdriver
我无法通过Java通过selenium webdriver click命令点击下面的HTML值.
这是我的HTML ...我必须点击HTML中的PAAcctAcctRels,PAAcctActivityData等.
我尝试使用LinkText(driver.findElement(By.linkText("PAAcctAcctRels")).click();)和xpath(driver.findElement(By.xpath(".//[@id='primaryNavLevel2Z6_G868H4S0K881F0AAEO37LG28N0']/div[1]/a")).click();)
<div id="primaryNavLevel2Z6_0G5A11K0KGF200AIUB98T20G52" class="dropdown_1columns">
<div class="col_1">
<a class="" href="?uri=nm:oid:Z6_0G5A11K0KGF200AIUB98T20G53">
<strong>
<span lang="en" dir="ltr">
PAAcctAcctRels
<span class="wpthemeAccess"> currently selected</span>
</span>
</strong>
</a>
</div>
<div class="col_1">
<a class="" href="?uri=nm:oid:Z6_0G5A11K0KGF200AIUB98T20GD4">
<span lang="en" dir="ltr">PAAcctActivityData</span>
</a>
</div>
<div class="col_1">
<a class="" href="?uri=nm:oid:Z6_0G5A11K0KGF200AIUB98T20GT1">
<span lang="en" dir="ltr">PAAcctAddrEmail</span>
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以做到这一点..请告诉我.
1-对于点击文本“PAAcctActivityData”,你可以使用下面的代码:
driver.findElement(By.xpath("//span[.='PAAcctActivityData']")).click();
2-对于点击文本“PAAcctAddrEmail ”,你可以使用下面的代码:
driver.findElement(By.xpath("//span[.='PAAcctAddrEmail']")).click();
注意:-上面的 xpaths 将span elements使用精确的 innerHTML/text分别定位为'PAAcctActivityData'或'PAAcctAddrEmail'。
By.linkText("PAAcctAcctRels")不起作用,因为该链接有更多文本(即“ currently selected”),而您的 xpath 的问题是它以.//
以下应该有效(我避免使用 * 来提高性能)
By.xpath("//div[@id='primaryNavLevel2Z6_G868H4S0K881F0AAEO37LG28N0']/div[1]/a")
Run Code Online (Sandbox Code Playgroud)