如何点击按钮元素

时间:2018-10-15 09:46:23

标签: java selenium xpath css-selectors webdriverwait

如何单击按钮元素?

这是HTML:

<button class="ui-button ui-widget ui-state-default ui-corner-all ui- 
button-icon-only ui-dialog-titlebar-close" type="button" role="button" 
aria-disabled="false" title="close">
<span class="ui-button-icon-primary ui-icon ui-icon-closethick"></span>
<span class="ui-button-text">close</span>
</button>

错误为“元素在点(1165.88330078125,427.76666259765625)不可点击。其他元素将获得点击: 命令持续时间或超时:77毫秒”

如果有帮助,我正在使用Selenium 2.53.1。

我正在使用Java编写自动化脚本。

1 个答案:

答案 0 :(得分:0)

要单击所需元素,您需要诱使 WebDriverWait 使所需元素可点击,并且可以使用以下任一解决方案:

  • cssSelector

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("button.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-icon-only.ui-dialog-titlebar-close[title='close']>span.ui-button-text"))).click();
    
  • xpath

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@class='ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only ui-dialog-titlebar-close' and @title='close']/span[@class='ui-button-text' and contains(.,'close')]"))).click();