我正在尝试使用 Selenium 选择一个元素,但无法选择它。我尝试使用 xpath、css 选择它,然后执行 javascript 来单击它,但没有成功。有什么想法吗?
我能够使用 katalon ide 自动化插件并在 javascript 控制台中选择它,这让我相信有一种方法可以做到这一点。
代码如下:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.get(url="https://www.google.com/recaptcha/api2/demo")
driver.switch_to.frame(0)
driver.find_element(By.CSS_SELECTOR, "div.recaptcha-checkbox-checkmark").click()
driver.switch_to.default_content()
driver.switch_to.frame(1)
WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.CSS_SELECTOR, "a.rc-audiochallenge-tdownload-link")))
driver.find_element(By.CSS_SELECTOR, "a.rc-audiochallenge-tdownload-link").click()
任何帮助将不胜感激。
最佳答案
没有带有a.rc-audiochallenge-tdownload-link
的元素定位器,音频按钮上有id recaptcha-audio-button
...尝试ID 选择器...例如
WebDriverWait(driver, 30).until(EC.presence_of_element_located(By.ID, "recaptcha-audio-button"))
driver.find_element(By.CSS_SELECTOR, "recaptcha-audio-button").click()
关于selenium - 无法选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48592479/