【问题标题】:Python selenium blocked [duplicate]Python硒被阻止[重复]
【发布时间】:2021-07-14 07:15:07
【问题描述】:

这是我尝试过的:

from selenium import webdriver
driver = webdriver.Chrome(executable_path='chromedriver.exe')
driver.get("https://secure07c.chase.com/web/auth/#/logon/logon/chaseOnline?")
username = driver.find_element_by_id("userId-text-input-field")

我遇到的问题是,当我简单地执行此操作然后手动填写字段并单击登录时,会弹出一个用于防止机器人攻击的错误页面。

当我删除username = driver.find_element_by_id("userId-text-input-field") 行时,网站可以正常工作,我可以从自动化的 selenium webdriver 驱动页面手动登录。 在执行driver.page_source 和许多其他从网页请求元素的测试时也会出现同样的问题。

我尝试了很多东西(大多数选项、标志、用户代理……),但它们与这个问题无关,这就是为什么我包含了导致问题的代码的简化版本,基本上是任何元素选择.

我猜 selenium 请求元素的方式很可疑,只是在大通银行网站上找到元素就引起了怀疑。我想了解 selenium 如何查找/选择元素以及反机器人如何检测这个非常简单的动作。有办法解决吗?

【问题讨论】:

  • 当我尝试通过 Selenium 访问登录页面时,我收到此警告“我们找不到该用户名和密码。您可以重置密码或重试。”那是使用纯自动化。这是您收到的错误吗?
  • @Lifeiscomplex 不,我得到了一个旨在保护免受机器人攻击的覆盖页面,您能分享一下您的尝试吗?是带有特定版本的 chromedriver 的 chrome 90 吗?你试过的代码是什么?是我共享的确切的 4 行然后手动输入凭据或其他内容吗?
  • 我使用的是 chromedriver 90.x。我有超过 50 行代码。我没有 Chase 帐户来全面测试代码。
  • 你能分享你的代码吗?因为我的简单代码在任何find_element 之后都会导致问题,无论我在代码中添加什么,即使find_element 之后没有任何操作,我需要它来测试一些实现类似安全性的网站(提炼网络安全性) , distil 与 selenium 战斗的很辛苦, 你可以查一下, 我需要过去不被发现, 这是我的目标, 不是特定的网站, 而是了解和绕过安全性, 提前非常感谢你
  • 我做了更多测试,代码在绕过机器人保护时遇到问题,我认为这不是 Distil Networks。我没有在 javascript 文件中看到对 distil 的引用。如果我发现了什么,我会在这里告诉你。

标签: python selenium selenium-webdriver webdriver bots


【解决方案1】:

Chase 可以看到它是发送请求的自动脚本,而不是真人发送请求。 Stack Overflow 也使用了类似的技术。没有办法逃脱这一点,否则,机器人将遍布银行网站并对其进行 DDoSing。

【讨论】:

  • 从加载的网页中获取元素可能是从页面的源代码在本地完成的,selenium 解析代码并将该元素返回给我,他们是如何检测到的,selenium 做错了什么?
  • @ElyesLounissi 该脚本仍然需要向 Chase 提交源代码查询,Chase 的系统检测到该源代码不是来自真正的网络浏览器。
  • 我相信@SergeiKiselev 是正确的,您需要隐藏您使用的是 chrome webdriver 而不是标准 chrome 浏览器的事实。这在银行网站上可能非常困难,但如果你足够固执,就可以做到。这个网站是一个工具,用于测试你的机器人在网络服务器上的外观,并且可以让你了解它们正在标记的内容:bot.sannysoft.com 这可能会给你一些关于如何避免检测的更多想法:medium.com/analytics-vidhya/…
  • @samthaman 这不是 chrome 使用 selenium webdriver 的事实,因为如果我不执行任何查找元素并手动登录它,如果我不做单个 find_element元素的任何内容,只是它停止工作的单个语句,查找影响页面的元素如何?
猜你喜欢
  • 2016-10-22
  • 2021-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-05
  • 1970-01-01
相关资源
最近更新 更多