我必须让用户提供OTP并点击按钮的网站实现自动化。由于OTP未知,此部分无法自动化。因此,我需要selenium脚本等待用户单击按钮。 有什么方法可以做到这一点吗?(通过selenium而不是用户交互)
我试过这个:
from selenium.webdriver.support.ui import WebDriverWait
WebDriverWait(driver, 1).until(lambda d: d.execute_script("return document.getElementById('loginbutton').clicked")=="true")
但会引发以下错误:
WebDriverWait(驱动程序,1).until(lambda d:d.execute_脚本(“return document.getElementById('loginbutton')。clicked”)=“true”) 文件“C:\Users\project\venv\lib\site packages\selenium\webdriver\support\wait.py”,第80行,直到 引发TimeoutException(消息、屏幕、堆栈跟踪) selenium.common.Exception.TimeoutException:消息: 流程结束,退出代码为1
document.getElementById('loginbutton').clicked
在开发人员工具上执行时给出未定义的,这可能是上述错误的原因吗
这是一种“黑客”方法,但您可以检查URL,直到它更改以确认成功登录
例如,在尝试登录时,您的url可能如下所示:
https://www.yoururl.com/login
现在获取成功登录的url:
https://www.yoururl.com/dashboard
现在您可以编写一个循环来获取当前URL并进行检查,下面我将列出两个可以使用的示例。您需要修改它以适合您的具体情况
您可以使用
.current_url
方法来帮助您做到这一点或
相关问题 更多 >
编程相关推荐