Selenium / Python & Captcha:无头时的不同行为 = 真



我用Selenium写了一个小Python脚本,我在" heading "模式和无头模式

在标题模式下一切看起来都很好,页面加载正确。使用无头模式,我需要在页面加载之前验证一些captcha…

对于我的测试,我只将options.headlessFalse更改为True(代码如下)。

我使用Chrome的配置文件,我想象,一旦我用头部模式验证了captcha,它将与无头模式一起工作:我错了…

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
service = Service("./webdriver/chromedriver")
options = Options()
options.add_argument("start-maximized")
options.add_argument("--disable-gpu")
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/95.0.4638.54 Safari/537.36")
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument("--user-data-dir=./profile")
options.add_argument("--profile-directory=default")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)
options.headless = False
driver = webdriver.Chrome(service=service, options=options)
driver.get("https://[REDACTED]")

你经历过同样的行为吗?如果有,你是如何处理的?

谢谢!

r .

我最近也不得不通过selenium python的CAPTCHA。我不知道它是否能帮助你,但它可以解决的方法是手动解决CAPTCHA,然后你的代码将继续:
在你的代码中,当你到达CAPTCHA时,放:

# launch your browser with selenium as you did
import time
time.sleep(30)  # you will have 30sec to solve the CAPTCHA, then program will resume
#continue your code here

这样,除了CAPTCHA解决之外,所有步骤都是自动化的,您将能够保持原来的无头模式。

相关内容

  • 没有找到相关文章

最新更新