python - 即使在硒上使用显式等待后也无法单击单选按钮
问题描述
我正在尝试在网页中选择“女性”单选按钮
import time
import selenium.common.exceptions
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
driver = webdriver.Chrome(executable_path="C:\Drivers\chrome\chromedriver.exe")
driver.get("https://fs2.formsite.com/meherpavan/form2/index.html?1537702596407")
wait = WebDriverWait(driver, 60)
element = wait.until(EC.element_to_be_clickable((By.ID, "RESULT_RadioButton-7_1")))
driver.execute_script("arguments[0].click();",element)
#element.click()
#driver.find_element_by_id("RESULT_RadioButton-7_1").click()
print(driver.find_element_by_id("RESULT_RadioButton-7_0").is_selected())
print(driver.find_element_by_id("RESULT_RadioButton-7_1").is_selected())
错误:
C:\Users\kkumaraguru\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/kkumaraguru/PycharmProjects/SeleniumProject/RadioButtons.py
Traceback (most recent call last):
File "C:\Users\kkumaraguru\PycharmProjects\SeleniumProject\RadioButtons.py", line 14, in <module>
element = wait.until(EC.element_to_be_clickable((By.ID, "RESULT_RadioButton-7_1")))
File "C:\Users\kkumaraguru\PycharmProjects\pythonProject\venv\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Process finished with exit code 1
解决方案
似乎在等待RESULT_RadioButton-7_1
页面上出现具有 ID 的元素时超时。我会自己打开页面以确保存在此类元素。您可以在浏览器的控制台中使用 javascript 执行此操作:document.getElementById("RESULT_RadioButton-7_1")
. 如果这不起作用,请尝试通过代码进行调试,并检查 HTML Selenium 正在查看的内容,以确保符合您的期望。
推荐阅读
- ios - Fabric:集成服务挂钩 GitLab 失败并出现 HTTP 308
- android - Unity 广告在我的 Android 应用中持续显示
- grpc - gRPC Java 服务器:有什么方法可以获取从客户端接收到的原始消息字节?
- ios - SOAP API 在可选括号中响应 XML。如何迎合它?
- python - 如何在python3.7中添加参数
- hyperledger - 超级账本结构是否被视为集中式区块链
- javascript - 循环遍历对象中的段落。如何?
- javascript - 无法在移动视图reactjs中触发滚动事件
- visual-studio - Visual Studio 窗口平铺和交叉问题
- c++ - 函数指针数据成员的类型是什么?