自定义 CDP 函数
验证码解算器
使用抓取浏览器浏览页面时,默认情况下,我们的集成验证码解算器会自动解算所有验证码 。您可以使用以下自定义 CDP 函数在代码中监控此自动解算过程。
如果您想通过控制面板完全禁用验证码解算器,请参阅我们的禁用验证码解算器功能:
https://docs.brightdata.com/cn/scraping-automation/scraping-browser/features/captcha-solver
验证码解算后,如有表单需要提交,则默认情况下会提交。
验证码解算器 - 自动解算
Captcha.Solve
Captcha.Solve
使用此指令返回验证码已解算、失败或未检测到之后的状态。 使用此指令返回验证码已解算、失败或未检测到之后的状态。
示例
如果验证码解算失败,请重新尝试。 如果问题仍然存在,请提交支持请求 ,详细说明您遇到的具体问题。
用于验证码状态的自定义 CDP 指令
用于验证码状态的自定义 CDP 指令
使用以下指令查明验证码解算流程中更具体的阶段:
Captcha.detected | 抓取浏览器遇到验证码并开始解算 |
Captcha.SolveFinished | 抓取浏览器成功解算验证码 |
Captcha.SolveFailed | 抓取浏览器未能解算验证码 |
Captcha.waitForSolve | 抓取浏览器等待验证码解算器完成 |
示例
以下代码设置 CDP 会话、监听 CAPTCHA 事件并处理超时:
以下代码设置 CDP 会话、监听 CAPTCHA 事件并处理超时:
Selenium doesn’t support asynchronous server-driven events like Puppeteer and Playwright.
The Captcha.waitForSolve
command waits for 抓取浏览器’s CAPTCHA solver to finish.
验证码解算器 - 手动控制
如果您想手动配置或完全禁用我们的默认验证码解算器,请改为手动调用解算器或自己解算,请参阅以下 CDP 指令和功能。
Captcha.setAutoSolve
Captcha.setAutoSolve
此指令用于控制验证码的自动解算。 您可以禁用自动解算或为不同的验证码类型配置算法,然后手动触发此操作:
在会话中完全禁用自动解算器的 CDP 指令示例:
仅针对特定验证码类型禁用自动解算器 - 示例
仅针对特定验证码类型禁用自动解算器 - 示例
手动解算验证码 - 示例
手动解算验证码 - 示例
其他验证码类型的 CaptchaOptions
其他验证码类型的 CaptchaOptions
对于以下三种验证码类型,我们支持以下附加选项,以控制和配置我们的自动解算算法。
仿真函数
Emulation.getSupportedDevices
Emulation.getSupportedDevices
使用此指令获取所有可仿真的设备列表。 此方法返回可与 setDevice 指令一起使用的设备选项阵列。
Emulation.setDevice
Emulation.setDevice
收到上面的支持设备列表后,您可以使用 Emulation.setDevice 指令模拟特定设备。此指令更改屏幕宽度、高度、userAgent 和 devicePixelRatio 以匹配指定的设备。
横向模式
如果您想将方向更改为横向(适用于支持横向的设备),可在device_name 之后添加字符串landscape。