Selenium Python检查WebElement是否可点击

时间:2016-11-15 23:30:28

标签: python selenium xpath

我想获取页面中的所有复选框并迭代它们以检查它们是否可点击(启用)。为此,我使用driver.find_elements_by_xpath(element_xpath),此方法返回所有复选框的列表,我可以为每个复选框调用click函数。问题是在我检查2个复选框后,其余的复选框变为禁用,我无法调用点击功能。我找不到任何方法来检查复选框是否仍然可点击;因为我的每个复选框都有一个WebElement,而不是其中的字符串,所以我无法使用element_to_be_clickablepresence_of_element_located。由于

element = WebDriverWait(driver, 10).until(
                    EC.element_to_be_clickable((By.XPATH, element_xpath))
                )

正在寻找元素作为字符串,eitehr是Id,CSS,XPath或......

我已阅读hereelement.get_attribute('outerHTML')我可以获取围绕我的元素的HTML标记但是我如何使用它来查看该元素是否可点击?

all_check_box = ".//*[@type='checkbox']"
clickable_elements = driver.find_elements_by_xpath(all_check_box)
for elem in clickable_elements:
    try:
        WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, elem))) #it's not working!!!
    except Exception as e:
         logging.error("couldn't Click")

由于某些原因,当我使用is_enabled()时,它总是为True。

all_check_box = ".//*[@type='checkbox']"
clickable_elements = driver.find_elements_by_xpath(all_check_box)
for elem in clickable_elements:
    print elem.is_enabled() # It's always True
    elem.click()

0 个答案:

没有答案