【问题标题】:How to check if the button is clickable using selenium webdriver如何使用 selenium webdriver 检查按钮是否可点击
【发布时间】:2017-12-08 14:40:40
【问题描述】:

我正在尝试查找按钮元素是否可点击,但我无法使用 selenium webdriver 成功验证。

这是我验证元素是否可点击的代码

    boolean installAFile;

    String classValues = driver.findElement(by.XPATH("//button[contains(., 'Install a new file')]")).getAttribute("class");
    installAFIle = classValues.contains("iconbutton-button--clickable");

    return installAFIle;

这里是 HTML

<div>
<!-- react-text: 406 -->
test message 1
<!-- /react-text -->
<div class="iconbutton">
<button class="iconbutton-button iconbutton-button--clickable" type="button" 
tabindex="0">
<div class="iconbutton-button-label">Install a new file</div>
</button>
</div>
<!-- react-text: 410 -->
under File > Install.
<!-- /react-text -->
</div>

我不断收到以下验证消息: 没有这样的元素:无法定位元素:{"method":"xpath","selector":"//button[contains(., 'Install a new file')]"}

【问题讨论】:

  • 您好尝试使用硒等待条件。请查看此链接stackoverflow.com/questions/12858972/…enter link description here
  • 在 xpath 中,字符串区分大小写。请检查该案例的字符串“安装新文件”。
  • @zen 感谢您的建议,我也实施了 te wait 但仍然没有运气
  • @SujaiKrishna link 始终是一个 LINK,它必须是可点击的。因此,您的问题对我来说毫无意义。您可以使用您尝试执行的确切用例和手动步骤来更新问题吗?谢谢

标签: java selenium selenium-webdriver pageobjects


【解决方案1】:

元素 xpath 将是;

/html/body/div/div/button/div

或者

//button/div

或者

//div[contains(@class,'iconbutton-button-label')]

或者

//*[contains(text(), 'Install a new file')]

【讨论】:

    【解决方案2】:

    只需编写以下方法并在您想要检查元素是否可点击时调用它。也传递所需的参数。

    public static boolean isClickable(WebElement el, WebDriver driver) 
        {
            try{
                WebDriverWait wait = new WebDriverWait(driver, 6);
                wait.until(ExpectedConditions.elementToBeClickable(el));
                return true;
            }
            catch (Exception e){
                return false;
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 2014-06-15
      • 1970-01-01
      • 2011-02-16
      • 2014-11-17
      • 2014-07-11
      • 2021-03-08
      相关资源
      最近更新 更多