我試圖在表單中定位一個元素,但由于某種原因,Selenium 不斷拋出一個錯誤,說它找不到。這是我正在使用的簡單代碼。誰能破譯為什么這不起作用?它看起來像一個基本的 HTML 表單。
driver = uc.Chrome()
driver.get('https://www.stumblechat.com/register')
username = driver.find_element(By.ID, 'user')
uj5u.com熱心網友回復:
這里有2個問題:
- 您必須等待元素出現。最好的方法是使用
WebDriverWaitexpected_conditions顯式等待。 - 該元素具有不同的定位器。您可能正在尋找由這個 CSS 選擇器定位的元素:
input[name='username'].
如果是這樣,您的代碼可能如下所示:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
options = Options()
options.add_argument("start-maximized")
webdriver_service = Service('C:\webdrivers\chromedriver.exe')
driver = webdriver.Chrome(options=options, service=webdriver_service)
wait = WebDriverWait(driver, 10)
url = "https://stumblechat.com/register"
driver.get(url)
username = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='username']")))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/526071.html
標籤:html硒硒网络驱动程序css 选择器网络驱动程序等待
