Frame Switch to click on a Box (Python Selenium)
Frame Switch to click on a Box (Python Selenium)
我在 Python 上尝试使用 Selenium 自动化我的浏览器时遇到问题。我已经封锁了几个小时,因为我是初学者.. :(
我解释一下我的问题:
我必须点击一盒 Recaptcha。为此,我的机器人必须单击网站上的一个按钮,然后该按钮会显示我必须验证的重新验证码。
以下是源页面截图:
The popup of the recaptcha, in which the checkbox is located
The location of the checkbox that I have to click
我试试这个代码:
time.sleep(5)
browser.switch_to_frame(browser.find_element_by_tag_name("CaptchaPopup"))
browser.switch_to_frame(browser.find_element_by_tag_name("iframe"))
CheckBox = WebDriverWait(browser, 10).until(
browser.find_element_by_id('recaptcha-anchor').click())
time.sleep(0.7)
CheckBox.click()
但是后者returns我错了:(
selenium.common.exceptions.NoSuchFrameException: Message: no such frame
我用的是Python2.7。
你有解决方案吗 ?
非常感谢您!
尝试使用以下代码来处理所需的复选框:
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
wait(browser, 10).until(EC.frame_to_be_available_and_switch_to_it(browser.find_element_by_xpath('//iframe[contains(@src, "google.com/recaptcha")]')))
wait(browser, 10).until(EC.element_to_be_clickable((By.ID, 'recaptcha-anchor'))).click()
我在 Python 上尝试使用 Selenium 自动化我的浏览器时遇到问题。我已经封锁了几个小时,因为我是初学者.. :(
我解释一下我的问题: 我必须点击一盒 Recaptcha。为此,我的机器人必须单击网站上的一个按钮,然后该按钮会显示我必须验证的重新验证码。 以下是源页面截图:
The popup of the recaptcha, in which the checkbox is located
The location of the checkbox that I have to click
我试试这个代码:
time.sleep(5)
browser.switch_to_frame(browser.find_element_by_tag_name("CaptchaPopup"))
browser.switch_to_frame(browser.find_element_by_tag_name("iframe"))
CheckBox = WebDriverWait(browser, 10).until(
browser.find_element_by_id('recaptcha-anchor').click())
time.sleep(0.7)
CheckBox.click()
但是后者returns我错了:(
selenium.common.exceptions.NoSuchFrameException: Message: no such frame
我用的是Python2.7。 你有解决方案吗 ? 非常感谢您!
尝试使用以下代码来处理所需的复选框:
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
wait(browser, 10).until(EC.frame_to_be_available_and_switch_to_it(browser.find_element_by_xpath('//iframe[contains(@src, "google.com/recaptcha")]')))
wait(browser, 10).until(EC.element_to_be_clickable((By.ID, 'recaptcha-anchor'))).click()