我正在努力提升我的硒技能。我發現很難找到這個問題的答案。
在下一頁:www.omegle.com
當我用selenium點擊文本按鈕時,它沒有任何問題。然而,當我試圖訪問& quot條件句與句子。術語& quot窗口并嘗試單擊復選框,Python/Selenium腳本會失敗。
我不明白,這是一個沒有iframe的普通div
以下是我的代碼:
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)
參考下面的工作代碼: 在點擊復選框之前,您必須等待。
此外,我通過使用相對XPaths重構了您的代碼。
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
結果: