我有一个容器,其中包含许多元素。我正在通过元素循环。 我的问题是检查元素是否不可点击的语法是什么。
答案 0 :(得分:3)
以下应该让它起作用 -
element.is_displayed() and element.is_enabled()
此代码使用Python。您可以将其更改为您选择的语言。
答案 1 :(得分:3)
现有方法isDisplayed和isEnabled无法检查该元素是否可点击。
如果您想等待元素直到可点击,然后点击它,您可能希望看一下:Selenium WebDriver - determine if element is clickable (i.e. not obscured by dojo modal lightbox)
实际上,如果没有实际点击该元素,可能很难检查该元素是否可点击。
答案 2 :(得分:1)
您可以尝试以下if else条件
if(driver.findElement(By.xpath("--xpath of the clickable content")).isEnabled())
{
System.out.println("Element is clickable");
}
else
{
System.out.println("Element is not clickable");
}
答案 3 :(得分:1)
一种选择是执行以下操作。
from selenium.common.exceptions import WebDriverException
try:
element.click()
# add to list of clickable elements
except WebDriverException:
print "Element is not clickable"
答案 4 :(得分:0)
您可以为其创建一个自定义关键字,但是如果需要显示并启用元素,但这并不是使元素可单击的所有条件。
自定义库中的自定义关键字示例:
from selenium.webdriver.remote.webelement import WebElement as webelement
def web_element_is_clickable(self, webelement):
return webelement.is_displayed() and webelement.is_enabled()
答案 5 :(得分:-1)
desplegar = bot.find_element_by_xpath('//*[@id="login-button"]')
try:
if desplegar.is_enabled:
desplegar.click()
else:
break
except:
desplegar = None