【问题标题】:Unable to Click Button with Headless Selenium Browser使用 Headless Selenium 浏览器无法单击按钮
【发布时间】:2015-07-22 23:09:49
【问题描述】:

我正在尝试使用无头 PhantomJSDriver() 和 click() 命令单击此页面上的按钮,但它挂起大约半分钟,然后声称找不到该元素。我如何正确识别按钮并模拟点击它

我的代码 sn-p

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>

【问题讨论】:

    标签: jquery selenium headless-browser


    【解决方案1】:

    看...代码

    class="btn btn-primary btn-xs"
    

    表示该元素未分配给类“btn btn-primary btn-xs”,这意味着该元素分配给3个不同的类:“btn”、“btn-primary”、“btn-xs”

    所以这意味着你无法通过这个 xpath 找到这个元素:"//input[@class='btn btn-primary btn-xs' and @type='button']" 因为不存在这样的类=) 您需要将此 xpath 更改为更正确:

    ".//input[@class='btn-xs' and @type='button']"
    

    在这种情况下,它不会找到正确的按钮(我认为它会找到,但不正确)。 您需要构建更好的 xpath,其中包含一些父元素....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-30
      • 2015-10-20
      • 2020-07-31
      • 1970-01-01
      相关资源
      最近更新 更多