javascript - Python selenium 选择一个不可见的复选框

标签 javascript python selenium

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

selenium.common.exceptions.ElementNotVisibleException:
Message: Element is not currently visible and so may not be interacted with

我想知道如何使其可见?

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

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

driver.find_element_by_xpath('//*[@id="1986 Thru 1990"]').click()

enter image description here

最佳答案

尝试添加一些时间来等待元素变得可见:

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

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

关于javascript - Python selenium 选择一个不可见的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42211572/

相关文章:

python - 在 Python 中,如何使用列表中的字符串来调用同名函数?

python - 如何找出模型的列是否为外键?

具有代理身份验证的 Selenium Webdriver Headless chrome

ruby-on-rails - Docker上的远程Selenium无法正确处理Javascript

selenium - 检查是否出现 "Please enter an email address"消息

javascript - 如何用jquery实现树形菜单

java - 在已签名的小程序中使用 AccessControler.doPrivileged 时出现 InvocableTargetException

Python数学范围错误

javascript - 正则表达式匹配 [] 但不匹配\[\]

javascript - bundle.js 加载缓慢