我正在尝试为https://www.phonehouse.nl/verlengchecker制作一个机器人。但当我使用Chrome时,它会被检测到。当我使用Firefox时,它只打开页面,不做任何事情。我在ArchLinux和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浏览上下文很容易被recaptcha检测到
深潜
如果您访问DOM Tree,您将发现recaptcha的存在
结论
Recaptcha可以轻松检测WebDriver启动的浏览上下文
但是,有一些通用的方法可以避免检测,您可以在How to bypass Google captcha with Selenium and Python?中找到详细的讨论
奥特罗
有关详细讨论,请参见:
“提供者”空间不是输入,所以不能使用
send_keys
但您可以将其用作数字:
相关问题 更多 >
编程相关推荐