Selenium网络元素是否可点击JAVA



因此中没有isClickable()函数。然而,有一个isEnabled()在大多数时候都有效(与isDisplayed()结合使用(,但并不总是有效。

我发现自己处于这样的境地。我有一个btn(由css选择器找到(,它是灰色的,不可点击,但我找不到任何方法来验证这一点。(isEnabled始终为真,并且始终显示(/元素本身没有与可点击的相同btn不同的属性或值。

我没有主意了,我尝试了try/catchexpectedConditions.elementToBeClickable(element),但这总是正确的。

有人能为我找到解决方案吗?也许我可以验证CSS位(以前从未做过(?这是一个有效的断言吗?

感谢

当按钮可用时,我看到了一个区别,即

<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();
}

灰色元素通常具有disabled属性,而启用的元素是enabled或只是缺少disabled或类似的属性。在大多数情况下,这可能是一个明确的指示。

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   
}

相关内容

  • 没有找到相关文章

最新更新