想使用自动化,但是chrome.exe --remote-debugging-port=9222启动谷歌浏览器被老是跳验证码识别很麻烦,直接chrome.exe 又不会,有没有什么办法能解决,最好是从启动参数里面
22条回答 默认 最新
关注
获得0.60元问题酬金 引自免费微信小程序:皆我百晓生
在使用
--remote-debugging-port=9222
参数启动 Chrome 时遇到验证码问题,这通常是因为 Chrome 启动后访问的某个页面触发了安全机制或者受到网络策略的影响。对于自动化测试和爬虫场景,确实需要避免此类人工交互。以下是一些可能的解决方案:-
代理或无头模式:
- 如果验证码是由于网络请求导致,可以尝试设置系统代理或者在启动参数中指定代理服务器,绕过直接连接到目标网站。
chrome.exe --remote-debugging-port=9222 --proxy-server="http://your-proxy:port"
-
Chrome Headless 模式:
- 使用无头模式启动 Chrome,可以有效避免打开 GUI 界面触发验证码的问题。
chrome.exe --headless --remote-debugging-port=9222
-
用户数据目录:
- 有时验证码与特定用户cookies或浏览历史有关,你可以尝试使用一个新的用户数据目录来启动浏览器。
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\path\to\new\profile"
-
禁用扩展和插件:
- 扩展或插件可能会引入验证码验证逻辑,禁用它们也许能解决问题。
chrome.exe --remote-debugging-port=9222 --disable-extensions
-
Selenium WebDriver:
- 若你是在做自动化测试,推荐使用 Selenium WebDriver 结合 ChromeDriver(适用于无头模式和非无头模式),它可以更好地控制浏览器行为并有可能规避验证码问题。
from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('--remote-debugging-port=9222') options.add_argument('--headless') # 如果需要无头模式 driver = webdriver.Chrome(chrome_options=options) # 这里是你的自动化脚本...
-
验证码识别服务:
- 对于无法规避的验证码,可能需要集成OCR识别服务或第三方验证码识别API来自动识别和填写。
请注意,绕过验证码可能违反网站的服务条款,并且不利于网站的安全性,因此在实际应用中请确保你的操作符合法律法规以及道德规范。
解决 无用评论 打赏 举报 编辑记录-
悬赏问题
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵