Selenium webelement 是否可点击 JAVA
Selenium webelement clickable or not JAVA
所以 selenium 中没有 isClickable()
函数。然而,有一个 isEnabled()
在大部分时间都有效(与 isDisplayed()
结合使用),但并非总是有效。
我发现自己处于这种情况。我有一个 btn(由 css 选择器找到)呈灰色且不可点击,但我找不到任何方法来验证这一点。 (isEnabled
始终为真,并且始终显示)/
该元素本身没有与可单击的按钮不同的属性或值。
我没主意了,我尝试了 try/catch
和 expectedConditions.elementToBeClickable(element)
但那也总是返回 true。
有人为我提供解决方案或其他方法吗?
也许我可以验证 CSS 位(以前从未做过)?这是一个有效的断言吗?
谢谢
灰色元素通常具有 disabled
属性,而启用元素是 enabled
或只是缺少 disabled
或类似的东西。在大多数情况下,这可以是一个明确的指示。
当按钮可用时,我看到了不同之处,即,
<input class="form-control qty" name="qty" type="number" value="1" min="1">
您可以使用以下代码块来检查何时单击:
代码:
try {
if (driver.findElements(By.xpath("//input[@name='qty' and @class='form-control qty' and @type='number']")).size() > 0 ) {
System.out.println("This means button is available to click");
// code to click on button should be written here
}
else {
System.out.println("Button must be greyed out, if you are seeing this");
// do some stuff to make button available
}
}
catch(Exception e) {
System.out.println("Check the code again, looks like some issue. ");
e.printStackTrace();
}
Have you check this way
代码:
WebElement element =(WebElement)((JavascriptExecutor)driver)
.executeScript("return document.querySelector('JS Path')");
if(element.isEnabled() && element.isDisplayed()){
element.click();
}else {
//statement for not displayed
}
所以 selenium 中没有 isClickable()
函数。然而,有一个 isEnabled()
在大部分时间都有效(与 isDisplayed()
结合使用),但并非总是有效。
我发现自己处于这种情况。我有一个 btn(由 css 选择器找到)呈灰色且不可点击,但我找不到任何方法来验证这一点。 (isEnabled
始终为真,并且始终显示)/
该元素本身没有与可单击的按钮不同的属性或值。
我没主意了,我尝试了 try/catch
和 expectedConditions.elementToBeClickable(element)
但那也总是返回 true。
有人为我提供解决方案或其他方法吗? 也许我可以验证 CSS 位(以前从未做过)?这是一个有效的断言吗?
谢谢
灰色元素通常具有 disabled
属性,而启用元素是 enabled
或只是缺少 disabled
或类似的东西。在大多数情况下,这可以是一个明确的指示。
当按钮可用时,我看到了不同之处,即,
<input class="form-control qty" name="qty" type="number" value="1" min="1">
您可以使用以下代码块来检查何时单击:
代码:
try {
if (driver.findElements(By.xpath("//input[@name='qty' and @class='form-control qty' and @type='number']")).size() > 0 ) {
System.out.println("This means button is available to click");
// code to click on button should be written here
}
else {
System.out.println("Button must be greyed out, if you are seeing this");
// do some stuff to make button available
}
}
catch(Exception e) {
System.out.println("Check the code again, looks like some issue. ");
e.printStackTrace();
}
Have you check this way
代码:
WebElement element =(WebElement)((JavascriptExecutor)driver)
.executeScript("return document.querySelector('JS Path')");
if(element.isEnabled() && element.isDisplayed()){
element.click();
}else {
//statement for not displayed
}