Javascript Python selenium选择不可见复选框

Javascript Python selenium选择不可见复选框,javascript,python,selenium,Javascript,Python,Selenium,我试图在Python中使用selenium取消选中复选框。但是,我收到了以下错误消息: selenium.common.exceptions.ElementNotVisibleException: 消息:元素当前不可见,因此可能无法与之交互 我想知道我应该如何使它可见 这个复选框中一个有趣的部分是它包含一些JavaScript,我不确定这是否是导致问题的地方。我尝试了以下方法,但得到了相同的错误 driver.find_element_by_id("1986 Thru 1990").click(

我试图在Python中使用selenium取消选中复选框。但是,我收到了以下错误消息:

selenium.common.exceptions.ElementNotVisibleException:
消息:元素当前不可见,因此可能无法与之交互

我想知道我应该如何使它可见

这个复选框中一个有趣的部分是它包含一些JavaScript,我不确定这是否是导致问题的地方。我尝试了以下方法,但得到了相同的错误

driver.find_element_by_id("1986 Thru 1990").click()


尝试增加一些时间等待元素变为可见:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
element = wait.until(EC.visibility_of_element_located((By.ID,'1986 Thru 1990')))
element.click()

如果问题仍然存在,请告诉我

谢谢您的建议。但我似乎遇到了超时异常
selenium.common.exceptions.TimeoutException:Message:
。我是否应该增加超时限制?否。请告诉我此复选框最初是否可见,或者您需要向下滚动查看它,或者将鼠标指针悬停在其上使其可见?@tao.hong如果出现超时异常,则可能意味着您没有使用
xpath
获取正确的元素。你可能得到一些不可见的元素。提供一些html可能会有所帮助。我可以在Chrome和Firebox中“查看”复选框,而无需向下滚动页面。下面是链接:@tao.hong看起来
输入
实际上不是您看到的复选框,请尝试单击
标签
,因为单击整个元素会选中该复选框`“//标签[@for='2011至2015']
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
element = wait.until(EC.visibility_of_element_located((By.ID,'1986 Thru 1990')))
element.click()