Recaptcha Solver 音频选择问题

问题描述 投票:0回答:1

我有这个验证码解决脚本,直到昨天它一直运行良好:

def solve_captcha(driver):
  WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.TAG_NAME, "iframe")))
  frames = driver.find_elements(By.TAG_NAME, "iframe")

  recaptcha_control_frame = None
  recaptcha_challenge_frame = None
  for index, frame in enumerate(frames):
      if re.search('reCAPTCHA', frame.get_attribute("title")):
          recaptcha_control_frame = frame

      if re.search('recaptcha challenge', frame.get_attribute("title")):
          recaptcha_challenge_frame = frame

  #click recaptcha
  driver.switch_to.frame(recaptcha_control_frame)
  WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CLASS_NAME, "recaptcha-checkbox-border")))
  driver.find_element(By.CLASS_NAME, "recaptcha-checkbox-border").click()
  driver.switch_to.default_content()

  #click on audio challenge
  driver.switch_to.frame(recaptcha_challenge_frame)
  WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.ID, "recaptcha-audio-button")))
  driver.find_element(By.ID, "recaptcha-audio-button").click()
  driver.switch_to.default_content()

  #switch to recaptcha audio challenge frame
  driver.switch_to.frame(recaptcha_challenge_frame)

  path_to_wav = find_and_export_wav()
  solution = solve(path_to_wav)
  result = submit_and_check(solution, recaptcha_control_frame)
  return result

我在调试的时候发现执行这行代码会产生错误:

WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.ID, "recaptcha-audio-button")))

我收到此错误:

Stacktrace:
#0 0x55cdd7ef77f9 <unknown>
#1 0x55cdd7e973b3 <unknown>
#2 0x55cdd7bdf016 <unknown>
#3 0x55cdd7c1381e <unknown>
#4 0x55cdd7c498fb <unknown>
#5 0x55cdd7c36ded <unknown>
#6 0x55cdd7c479e1 <unknown>
#7 0x55cdd7c36c93 <unknown>
#8 0x55cdd7c08ce4 <unknown>
#9 0x55cdd7c0a4d2 <unknown>
#10 0x55cdd7ec3542 <unknown>
#11 0x55cdd7ed2ce7 <unknown>
#12 0x55cdd7ed29e4 <unknown>
#13 0x55cdd7ed713a <unknown>
#14 0x55cdd7ed35b9 <unknown>
#15 0x55cdd7eb8e00 <unknown>
#16 0x55cdd7eea5d2 <unknown>
#17 0x55cdd7eea778 <unknown>
#18 0x55cdd7f02a1f <unknown>
#19 0x7f93e9c40b43 <unknown>
#20 0x7f93e9cd2a00 <unknown>

可能是什么原因?

我尝试使用类名而不是 id 更改搜索,并且出现同样的问题。

python selenium-webdriver google-colaboratory recaptcha
1个回答
0
投票

看起来 reCaptcha 已经改变了它的网站结构。尝试检查页面。

© www.soinside.com 2019 - 2024. All rights reserved.