首页 > 解决方案 > 硒铬被检测到

问题描述

我正在尝试为https://www.phonehouse.nl/verlengchecker制作一个机器人。但是当我使用 Chrome 时,它​​会被检测到。当我使用 Firefox 时,它只打开页面并且不执行任何操作。我在 Arch linux 和 Windows 上试过,结果是一样的。

from selenium import webdriver
from time import sleep

capabilities = {
  'browserName': 'chrome',
  'chromeOptions':  {
    'useAutomationExtension': False,
    'forceDevToolsScreenshot': True,
    'args': ['--start-maximized', '--disable-infobars']
  }
}    
driver = webdriver.Chrome(capabilities=capabilities)
def control(provider, number, day, month, year, post, email, street):
    
    driver.get("https://www.phonehouse.nl/verlengchecker")
    sleep(1)

    driver.find_element_by_xpath("//span[@id='businessSelectBoxIt']").send_keys(provider) #provider
    driver.find_element_by_xpath("//input[@name='msisdn']").send_keys(number) #number

标签: pythonseleniumgoogle-chromeselenium-chromedriverrecaptcha

解决方案


你的分析方向是对的。Selenium驱动的ChromeDriver发起 Browsing Context很容易被检测到。

深潜

如果您访问DOM 树,您会发现recaptcha的存在。

invisible_recaptcha


结论

Recaptcha 可以轻松检测WebDriver发起的Browsing Context

您可以在Recaptcha 3 如何知道我正在使用 selenium/chromedriver?

但是,有一些通用方法可以避免检测,您可以在如何使用 Selenium 和 Python 绕过 Google 验证码中找到详细讨论?


奥特罗

您可以在以下位置找到相关的详细讨论:


推荐阅读