我试图使用无头PhantomJSDriver()和click()命令单击此页面上的按钮,但它会挂起大约半分钟,然后声称无法找到该元素。如何正确识别按钮并模拟单击
我的代码段:
driver.findElement(By.xpath("//input[@class='btn btn-primary btn-xs' and @type='button']"))
.click();
错误消息:
[ERROR - 2015-07-22T23:01:51.589Z] WebElementLocator -
_handleLocateCommand - Element(s) NOT Found: GAVE UP. Search Stop Time: 1437606111543
经过检查的元素:
<td ng-show="hit.HITStatus == 'Unassigned'" class="col-sm-1">
<a href="www.theurl.com">
<button type="button" class="btn btn-primary btn-xs">What the button says</button>
</a>
</td>
答案 0 :(得分:-1)
看......代码
class="btn btn-primary btn-xs"
表示此元素不分配给类&#34; btn btn-primary btn-xs&#34;,表示此元素分配给3个不同的类:&#34; btn&#34;,& #34; BTN-主&#34; &#34; BTN-XS&#34;
因此,这意味着您无法通过此xpath找到此元素:"//input[@class='btn btn-primary btn-xs' and @type='button']"
因为没有这样的类存在=)
您需要更正确地更改此xpath:
".//input[@class='btn-xs' and @type='button']"
并且在这种情况下它将找不到正确的按钮(它会找到,但我认为不正确)。 您需要构建更好的xpath,其中包含一些父元素....