python - 如何处理阻止从 selenium webdriver 登录的网站?
问题描述
我正在尝试登录一个网站,但它似乎完全基于我使用 selenium 登录来阻止我。我正在使用的代码如下,但我确信问题不在于代码,因为即使我打开 selenium 浏览器窗口并完全手动登录,登录也会失败。
driver = webdriver.Firefox()
driver.get("https://www.etoro.com/login/?")
sleep(5)
driver.find_element_by_id("username").send_keys(username)
driver.find_element_by_id("password").send_keys(password)
driver.find_element_by_xpath('//button[@automation-id="login-sts-btn-sign-in"]').click()
查了一下,如果你使用支持自动化的浏览器,这似乎类似于谷歌阻止登录 gmail 的方式;但这有某种解决方法,而我还没有为这个网站找到类似的解决方法。非常感谢任何帮助。
解决方案
该网站可能具有机器人检测功能,因此他们可能不希望您以这种方式登录。然而,这些机器人检测脚本可能会检查各种内容,例如 CSRF 令牌、用户代理字符串,甚至可能是鼠标行为、打字速度和事件发起者。您可以尝试结合使用 webdriver 和手动输入。
这是一个解释了一个非常相似的问题的 reddit 帖子:https ://www.reddit.com/r/hacking/comments/aayjd3/how_to_bypass_a_website_blocking_automated_tasks/
推荐阅读
- java - Webflux:使用 AOP 记录方法请求和响应
- mysql - 计算SQL中日期之间的平均时间
- c# - OnEnable 不更新变量 - Unity3D
- blender - 省略了一个条件
- postman - 如何从新的谷歌 SDM 获取巢恒温器的温度
- java - 硒元素在点不可点击
- xamarin - Xamarin:使用 API 级别 >=29 将文件保存到 Android 上的外部存储
- django - Django Heroku 应用程序移至新计算机 - git push heroku master 上的错误
- javascript - Discordjs 在前缀和命令之间添加空格
- c# - Blazor 服务器端 Fluxor Dispatch Action on Browser 选项卡关闭