如何使用 selenium webdriver 检查按钮是否可点击

SKV*_*SKV 1 java selenium pageobjects selenium-webdriver

我试图找出按钮元素是否可点击,我无法使用 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;
Run Code Online (Sandbox Code Playgroud)

这是 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>
Run Code Online (Sandbox Code Playgroud)

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

sFo*_*jit 5

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

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;
        }
    }
Run Code Online (Sandbox Code Playgroud)