IT评测·应用市场-qidao123.com

标题: 自动化操作欣赏器时遇到了checkbox的人机验证要怎么处理 [打印本页]

作者: 魏晓东    时间: 2025-3-7 12:48
标题: 自动化操作欣赏器时遇到了checkbox的人机验证要怎么处理
在自动化操作欣赏器时遇到checkbox形式的人机验证(如"我不是呆板人"复选框),处理方式需根据验证类型和复杂度决定。以下是分步解决方案:

  1. checkbox = driver.find_element(By.XPATH, '//checkbox_xpath')
  2. checkbox.click()
  3. time.sleep(2)  # 等待验证响应
复制代码
  1. # 使用隐蔽型浏览器驱动
  2. import undetected_chromedriver as uc
  3. driver = uc.Chrome()
  4. # 修改浏览器特征
  5. options = webdriver.ChromeOptions()
  6. options.add_argument("--disable-blink-features=AutomationControlled")
  7. options.add_experimental_option("excludeSwitches", ["enable-automation"])
复制代码
  1. # 使用第三方验证码服务(需API key)
  2. from twocaptcha import TwoCaptcha
  3. solver = TwoCaptcha('YOUR_API_KEY')
  4. result = solver.hcaptcha(
  5.     sitekey='site-key',
  6.     url='page-url'
  7. )
  8. driver.execute_script(f"document.getElementById('g-recaptcha-response').innerHTML='{result['code']}'")
复制代码

  1. user_agents = ["Mozilla/5.0...", ...]
  2. options.add_argument(f"user-agent={random.choice(user_agents)}")
复制代码

  1. from selenium.webdriver.common.action_chains import ActionChains
  2. actions = ActionChains(driver)
  3. actions.move_to_element_with_offset(checkbox, xoffset=random.randint(5,15), yoffset=random.randint(5,15))
  4. actions.pause(random.uniform(0.5,1.5))
  5. actions.click().perform()
复制代码

  1. options.add_argument(f'--proxy-server=http://user:pass@proxy_ip:port')
复制代码

  1. try:
  2.     WebDriverWait(driver, 30).until(EC.invisibility_of_element_located((By.ID, 'captcha-container')))
  3. except TimeoutException:
  4.     driver.refresh()  # 刷新重试或记录失败
复制代码
注意事项:
进阶方案(需自建AI系统):

终极选择方案时,需在合规性、成本效益和技能实现难度之间取得平衡。对于关键业务系统,建议预留人工验证回退通道。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4