问题标签 [undetected-chromedriver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2864 浏览

python-3.x - Cloudflare 和 Chromedriver - cloudflare 区分 chromedriver 和正版 chrome?

我想用 chromedriver 从 fanfiction.net 上抓取一些故事。我尝试以下方法:

第一个链接打开(有时我必须等待 5 秒)。当我想加载第二个 url 时,cloudflare 介入并希望我解决验证码 - 这是无法解决的,至少 cloudflare 无法识别这一点。如果我在 chromedriver 中手动输入链接(所以在 GUI 中),也会发生这种情况。但是,如果我在普通 chrome 中做同样的事情,一切都会正常运行(我什至没有得到第一个链接的等待时间)——即使在私有模式下并且所有 cookie 都已删除。我可以在几台机器上重现这个。现在我的问题是:根据我的直觉,chromedriver 只是允许控制的普通 chrome 浏览器。与普通 chrome 有什么区别,Cloudflare 如何区分两者,如何将我的 chromedriver 屏蔽为普通 chrome?(我不打算在很短的时间内加载很多页面,所以它不应该看起来像一个机器人)。我希望我的问题很清楚

0 投票
0 回答
97 浏览

selenium - findElements 调用返回的 chromedriver 错误“未找到陈旧的元素”

我得到了 chromedriver 返回的堆栈跟踪:

我已经实例化了 chromedriver,并使用 curl 来隔离这个语句的问题:

这会查找应该始终存在的body DOM 对象。

我已经从我的 monorepo 中的另一个项目运行它并且它可以工作,并且在 chrome 正在检查时将 Firefox 作为客户端运行并且它也可以工作。

所以它必须与我如何实例化 chromedriver 有关,但我看不出其他项目之间有任何区别。

有谁知道发生了什么?

提前致谢。

0 投票
1 回答
2646 浏览

python - 被带有 selenium 和 chromedriver 的网站阻止

我在尝试使用 chrome 驱动程序和 selenium 访问网站 (bet365.com) 时遇到了一些麻烦(我被“阻止”了)。

我可以使用普通的 chrome 访问该站点,但是当我尝试使用 chrome 驱动程序时,它不起作用。

我之前遇到过这个问题,并通过使用以下一些选项(python)来纠正它:

现在,问题又回来了,这段代码无法再绕过保护。有人能帮我吗?

0 投票
0 回答
1629 浏览

selenium - selenium.common.exceptions.WebDriverException:消息:chrome 无法访问(会话信息:chrome=88.0.4324.150)

尽管使用了兼容的 google chrome 和 chromedriver 版本,但在尝试将 Selenium 与 Python 一起使用时,我仍收到此错误。会发生什么?

我正在使用: Selenium:3.141.0
Google Chrome:88.0.4324.150
Chromedriver:88.0.4324.96

当我运行时:

弹出一个空白的谷歌浏览器窗口,我在控制台中打印了这个:

然后我运行:

并弹出此错误:

0 投票
1 回答
361 浏览

java - Selenium chromedriver 被网站检测并阻止

我正在尝试在 java 上使用 Selenium chromedriver 抓取网站。我无法加载该页面,因为它将我检测为机器人。谷歌 Chrome 浏览器和 chromedriver 版本是正确的。我尝试了不同的方法,但我无法加载页面。这是我的代码:

任何帮助表示赞赏,非常感谢!

0 投票
0 回答
117 浏览

python - 如何避免被 ReCAPTCHA V2 识别?

我一直在使用 Selenium 在好友的网站上通过自动填写表格进行一些表格输入填充测试。表格底部有一个 ReCaptcha 框,这会让我们做数周的噩梦。基本上,我得到的前几个条目完美地工作(Selenium 的每个实例都使用不同的代理运行)。但是我提交的条目越多,验证码就越难,直到我需要 1 分钟才能解决一个问题。我尝试了很多事情都没有成功。

起初,验证码会很长,因为我打开了 webdriver 标志。我设法修补了 Chromedriver,因此 ReCAPTCHA 不会将我识别为机器人。后来我禁用了 webrtc,这似乎有助于不那么显眼,并且挑战更短,有时甚至一个挑战就完成了。

但只要我以合理的速度进行验证码,所有这些都有效。当我需要在半小时内填写 30 份表格时,到第 10 份表格时,我会收到非常长的验证码,即使答案是正确的,有时也会失败,而且我无法使用音频验证码。

我认为它可能与 web-gl 有关,所以我禁用它并再次尝试。不,同样的事情,甚至无法选择音频验证码选项,因为它说我可以发送自动请求。尝试禁用js,然后两者都不起作用。尝试了另一台计算机,首先获得了一些简单的验证码,然后又回到了困难的验证码。

我不知道 ReCAPTCHA 如何在幕后进行验证,所以即使它不是公众知识,我也在问是否有人对其工作原理有任何估计——并且已经尝试并成功避免被 ReCAPTCHA 暂时阻止。

就像额外的信息一样,使用代理并在隐身模式下的普通浏览器上尝试同样的事情会返回相同的结果。获得一些简单的快速挑战,然后通过一分钟的挑战被 ReCAPTCHA 摧毁

如果有人有任何提示,我将不胜感激!

0 投票
0 回答
23 浏览

selenium - $cdc_修改后Chromedriver无法启动

我试图调整 chromedriver 以避免通过替换$cdc_为其他东西来检测机器人,例如$dog_当您将 Selenium 与 chromedriver 一起使用时,网站可以检测到吗?)。完成之后 chromedriver 无法开始抛出:cannot execute binary file。我需要重新编译 chromedriver 还是做一些特定的事情?我尝试了多个 chromedriver 版本,结果总是一样的。

我将不胜感激任何帮助。

0 投票
3 回答
888 浏览

python - using selenium to get google search results without detection

I am trying to make a custom Index Check utility to check which URLs have been indexed by Google using Python and selenium

I need to get the Google search results so that I can check weather the queried url exists in the results or not. I am able to get 50 to 60 results before getting Google Captcha.

Below is my concerned code

I've tried using ChromeDriver and gecko driver both in headless mode but got the same result.

My main concern is how can I use selenium without getting detected?

I know google doesn't allow scraping but there are some paid APIs which does exactly the same thing i.e. providing Google Search Results. How are they working??!!

I've also searched for Google APIs but can't find one for my use case.

Also, if google doesn't allow scraping, then why does it let scrapers scrape for a limited number of times?

Thanks for your time, I really appreciate it.

0 投票
0 回答
81 浏览

vba - Selenium VBA 中的网页加载

如果可能的话,寻找有关如何使硒加载网页更快的建议。

如果我浏览同一个网站并在网站内进行导航,它将加载速度非常快 <1 秒,但如果我转到同一个 URL 并在 VBA 中使用 ChromeDriver 启动它,则最多需要 10-15 秒才能导航到不同的链接网站。

是因为网站检测到正在使用 Selenium 吗?或者是否有我必须添加的特定选项/参数?

当前代码如下所示,用于制作浏览器并导航到 URL

0 投票
1 回答
282 浏览

python - 如何通过 undetected_chromedriver.v2 获取 cookie 值?该站点使用 cloudflare。这是蟒蛇

我正在尝试通过 undetected_chromedriver.v2 获取 cookie 值。这是我的代码:

如果我使用 time.sleep() 而不是隐式等待,则页面仅加载 cloudflare 页面并无休止地重新加载。

浏览器打开。然后网站加载。我看到了这个:

点击.

但是我的代码不会等待完全加载和输出:

[{'domain': 'thesite.com', 'expiry': 1621067731, 'httpOnly': False, 'name': 'cf_chl_prog', 'path': '/', 'secure': False, 'value': 'e'}]

然后网站终于加载了,只是现在我想获取 cookie。

我能做些什么?

PS:对不起我的英语不好,我希望你能理解我=)