无法在框架中找到按钮的XPath

问题描述 投票:-2回答:1

我试图进入这个网站:https://www.google.com/recaptcha/api2/demo

然后单击此按钮:

enter image description here

然后,我试图点击这个按钮:

enter image description here

最后,在这个按钮上:

enter image description here

我用过这段代码:

 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()

不幸的是,它只点击了第一个和第二个按钮,但没有点击第三个按钮。为什么会这样?我检查了,第二个和第三个按钮在同一帧中,所以看起来很奇怪,也许我错了?

python selenium xpath css-selectors frame
1个回答
0
投票

只需添加一些等待,然后单击下面给出的下载按钮。

wait = WebDriverWait(driver1, 10)
element = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.rc-audiochallenge-tdownload-link')))  
element.click()

我试过了,工作得很好。

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