如何使用 selenium webdriver 检查按钮是否可点击
How to check if the button is clickable using 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;
这里是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')]" }
只需编写以下方法,并在需要检查元素是否可点击时调用它。还传递所需的参数。
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;
}
}
元素 xpath 将是;
/html/body/div/div/button/div
或者
//button/div
或者
//div[contains(@class,'iconbutton-button-label')]
或者
//*[contains(text(), 'Install a new file')]
我正在尝试查找按钮元素是否可单击,但我无法使用 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')]" }
只需编写以下方法,并在需要检查元素是否可点击时调用它。还传递所需的参数。
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;
}
}
元素 xpath 将是;
/html/body/div/div/button/div
或者
//button/div
或者
//div[contains(@class,'iconbutton-button-label')]
或者
//*[contains(text(), 'Install a new file')]