unDetected_chromedriver 页面冻结,无法进行交互

问题描述 投票:0回答:1

我正在尝试使用 Python 中的 Chromedriver 来抓取我的一些个人网络历史记录。 该网站有一个 Cloudflare Turnstile 循环,因此我使用 unDetected_chromedriver 来规避它。 我无法使用标准 Chromedriver 库来规避它。

不幸的是,当我使用 unDetected_chromedriver 时,页面有时会冻结并且不会响应任何交互。 最终浏览器崩溃了。 这并不总是立即发生,但它总会最终发生——无论是在初始加载时,还是在第24、60页上,无论哪一个,它都会在某个时刻冻结。

我拥有最新的 Chrome 版本,并且我的所有库都是最新的。 在 OS X 上运行。

python selenium-chromedriver undetected-chromedriver
1个回答
0
投票

您可以尝试 SeleniumBase:https://seleniumbase.io/ 制作 SeleniumBase 的人也为未被检测到的 Chromedriver 做出了贡献。通常,它比未被检测到的 Chromedriver 效果更好,而且他在 YouTube 上也有一些很好的教程:https://www.youtube.com/watch?v=-EpZlhGWo9k 然而,到目前为止我发现的最好方法是使用 Android 模拟器(BlueStacks、BlissOs...)并通过使用 dd 将二进制数据直接注入 /dev/input/eventX 来伪造鼠标移动。我从来没有像这样被屏蔽过,这已经是最接近人类行为的了。这是一个非常好的方法,因为它是

  1. 他们很难获得设备指纹(好吧,他们可以获得 一个,但您可以根据需要创建任意多个模拟器。)这是一个 很好的页面来查看这些东西是如何工作的: https://amiunique.org/fingerprint

  2. 可以伪造真实的鼠标移动,但你仍然可以 同时使用您的电脑,因为模拟器可以在后台运行

  3. Android 的 uiautomator 元素转储通常足以从页面获取您想要的信息。如果没有,您可以使用 Kiwi 浏览器并安装任何您想要的 Chrome 扩展,并在不使用 Selenium 的情况下进行一些网页抓取

  4. 您可以同时运行很多模拟器

  5. 安装代理非常容易,甚至可以专用 4g/5g 调制解调器(使用 Proxifier - 无 DNS 泄漏)

© www.soinside.com 2019 - 2024. All rights reserved.