我试图进入这个网站:https://www.google.com/recaptcha/api2/demo
然后单击此按钮:
然后,我试图点击这个按钮:
最后,在这个按钮上:
我用过这段代码:
driver1 = webdriver.Firefox()
driver1.get("https://www.google.com/recaptcha/api2/demo")
driver1.switch_to.frame(driver1.find_element_by_css_selector('#recaptcha-
demo > div:nth-child(1) > div:nth-child(1) > iframe:nth-child(1)'))
driver1.find_element_by_xpath('//*[@class="recaptcha-checkbox-
checkmark"]').click()
time.sleep(4)
driver1.switch_to.default_content()
driver1.switch_to.frame(driver1.find_element_by_css_selector("body >
div:nth-child(2) > div:nth-child(4) > iframe:nth-child(1)"))
driver1.find_element_by_xpath('//*[@id="recaptcha-audio-button"]').click()
driver1.find_element_by_css_selector('.rc-audiochallenge-tdownload-link').click()
不幸的是,它只点击了第一个和第二个按钮,但没有点击第三个按钮。为什么会这样?我检查了,第二个和第三个按钮在同一帧中,所以看起来很奇怪,也许我错了?
只需添加一些等待,然后单击下面给出的下载按钮。
wait = WebDriverWait(driver1, 10)
element = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.rc-audiochallenge-tdownload-link')))
element.click()
我试过了,工作得很好。