该元素确实是可点击的。但它以标签标签为界。
有关更多信息,请在此处了解绑定标签和信息
使用EC.element_to_be_clickable
还确保元素可见,但事实并非如此。
class element_to_be_clickable(object):
""" An Expectation for checking an element is visible and enabled such that
you can click it."""
您可以通过调用来确认它是可点击的is_enabled
。此方法仅验证该属性disabled
是否为假。
driver.find_element_by_css_selector("input[aria-controls='pythoncode2']").is_enabled()
或者
driver.find_element_by_css_selector("input[aria-controls='pythoncode2']").get_attribute('disabled') != "true"
结果:
True
但EC.element_to_be_clickable
也调用以is_displayed
确定元素是否也可见
driver.find_element_by_css_selector("input[aria-controls='pythoncode2']").is_displayed()
结果:
False
这就是为什么,无论你等待多久,它永远不会成为现实。
要单击输入元素,您可以改为定位标签元素。它们与属性绑定在一起for=id
在你的情况下
driver.find_element_by_css_selector('[for="tab1code2"]')
还:
driver.find_element_by_css_selector('[for="tab1code2"]').is_enabled()
driver.find_element_by_css_selector('[for="tab1code2"]').is_displayed()
两者都返回:True