css 未找到Python Selenium Div Popup

6jygbczu  于 2023-05-19  发布在  Python
关注(0)|答案(1)|浏览(79)

我正在努力提升我的 selenium 技能。我发现很难找到这个问题的答案。
在下一页:www.omegle.com
当我用selenium点击文本按钮时,它没有任何问题。但是,当我尝试访问“条件和术语”窗口并尝试单击复选框时,Python/Selenium脚本失败。

我不明白它,它是一个普通的div,没有iframe
下面是我的代码:

from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from webdriver_manager.firefox import GeckoDriverManager
from time import sleep
from selenium.webdriver.common.by import By

driver = webdriver.Firefox(service=Service(GeckoDriverManager().install()))

#Intro
driver.get("https://www.omegle.com")
sleep(5)
driver.find_element(By.XPATH, '//*[@id="textbtn"]').click()
sleep(5)

driver.find_element(By.XPATH, '/html/body/div[7]/div/p[1]/label/input').click()
sleep(5)

我甚至试过

driver.switch_to.frame(3)
nzk0hqpo

nzk0hqpo1#

参考以下工作代码:您必须在单击复选框之前应用waits
另外,我使用相对XPath重构了您的代码。

driver.get("https://www.omegle.com")
driver.maximize_window()
wait = WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.XPATH, "//*[@id='textbtn']"))).click()
wait.until(EC.element_to_be_clickable((By.XPATH, "(//p//input)[1]"))).click()
wait.until(EC.element_to_be_clickable((By.XPATH, "(//p//input)[2]"))).click()
sleep(50)

所需进口:

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait

结果:

相关问题