猿问

网站能检测到什么时候你使用Selenium和色度驱动器吗?

网站能检测到什么时候你使用Selenium和色度驱动器吗?

我一直在用Chromeriver测试Selenium,我注意到有些页面可以检测到您正在使用Selenium,尽管根本没有自动化。即使我只是在手动浏览时,只要通过Selenium和Xephyr使用Chrome,我也经常会看到一个页面,上面说检测到了可疑的活动。我检查了我的用户代理和浏览器指纹,它们都与普通的铬浏览器完全相同。

当我以普通铬浏览这些站点时,一切都很好,但是使用Selenium的那一刻我就被检测到了。

理论上,色驱动程序和Chrome在任何Web服务器上看起来都应该完全相同,但不知怎么的,它们可以检测到。

如果您需要一些测试代码,请尝试如下:

from pyvirtualdisplay import Displayfrom selenium import webdriver

display = Display(visible=1, size=(1600, 902))display.start()chrome_options = webdriver.ChromeOptions()chrome_options.add_argument
('--disable-extensions')chrome_options.add_argument('--profile-directory=Default')chrome_options.add_argument("--incognito")chrome_op
tions.add_argument("--disable-plugins-discovery");chrome_options.add_argument("--start-maximized")driver = webdriver.Chrome(chrome_opti
ons=chrome_options)driver.delete_all_cookies()driver.set_window_size(800,800)driver.set_window_position(0,0)print 'arguments done'driver.ge
t('http://stubhub.com')

如果您浏览StubHub,您将在一两个请求中被重定向和“阻塞”。我一直在调查这个问题,但我不知道他们怎么知道用户在使用Selenium。

他们是怎么做到的?



撒科打诨
浏览 1104回答 3
3回答

胡说叔叔

正如我们在问题和发布的答案中所指出的,有一个反网络抓取和一个名为Bot的检测服务“蒸馏网络”在这里玩。根据公司首席执行官的说法采访:即使他们能创造出新的机器人,我们想出了一种方法来识别Selenium,这是他们正在使用的工具,所以不管他们在该机器人上迭代了多少次,我们都会阻塞Selenium。..我们现在使用Python和许多不同的技术来实现这一点。一旦我们看到一种模式从一种类型的机器人出现,那么我们就会对他们使用的技术进行反向工程,并将其识别为恶意的。要理解他们究竟是如何检测硒的,还需要时间和额外的挑战,但我们现在能确定的是:这与您使用Selenium所采取的操作无关-一旦您导航到该站点,您就会立即被检测到并被禁止。我尝试在操作之间添加人为的随机延迟,在页面加载后暂停-没有任何帮助它也不是关于浏览器指纹的-在多个浏览器上尝试使用干净的配置文件,而不是隐藏模式-没有任何帮助。因为,根据采访中的提示,这是“反向工程”,我怀疑这是在浏览器中执行一些JS代码时完成的,这表明这是一个通过SeleniumWebriver自动实现的浏览器。决定将其作为答复发布,因为显然:网站能检测到什么时候你使用Selenium和色度驱动器吗?是。另外,我还没有试验过更老的Selenium和更老的浏览器版本-理论上说,可以在DistilNetworks BOT检测器目前所依赖的某个点上实现/添加一些Selenium。然后,如果是这样的话,我们可能会检测到(是的,让我们检测器)在什么点/版本进行了相关的更改,查看变更量和变更集,这可能会给我们提供更多的信息,在哪里查看和他们使用它来检测一个Web驱动程序驱动的浏览器。这只是一个需要检验的理论。
随时随地看视频慕课网APP
我要回答