python - 硒铬被检测到
问题描述
我正在尝试为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
解决方案
你的分析方向是对的。Selenium驱动的ChromeDriver发起的 google-chrome Browsing Context很容易被recaptcha检测到。
深潜
结论
Recaptcha 可以轻松检测WebDriver发起的Browsing Context。
但是,有一些通用方法可以避免检测,您可以在如何使用 Selenium 和 Python 绕过 Google 验证码中找到详细讨论?
奥特罗
您可以在以下位置找到相关的详细讨论:
推荐阅读
- java - Jacoco 报告 0 类
- html - 密钥不能重复 - 重新启动后无法运行此 index.html,即使它之前工作过
- ipfs - ipfs 节点可以查询远程对等点以列出其引脚吗?
- go - 如何在 Golang 中初始化嵌套数组结构的变量?
- c++ - 在 Visual Studio 中将字符串转换为 wstring 失败
- javascript - 击中目标后倒计时到第二天
- python - 在 google ml-engine 上成功提交作业后,软件包安装失败
- regex - 在 \n 处停止正则表达式
- mocking - Jest - 手动模拟用户模块
- javascript - 如何使用 ES5 使用多个值在数组中查找对象的索引?