1. 導入必要的模塊
首先需要導入?By
?類:
from selenium.webdriver.common.by import By
2. 常用定位方式
(1) 通過ID定位
element = driver.find_element(By.ID, "username")
element.send_keys("testuser") ?# 輸入內容
(2) 通過Name定位
element = driver.find_element(By.CLASS_NAME, "btn-primary")
element.click() ?# 點擊按鈕
(3) 通過Class Name定位
?element = driver.find_element(By.CLASS_NAME, "btn-primary")
element.click() ?# 點擊按鈕
(4) 通過Tag Name定位
element = driver.find_element(By.TAG_NAME, "button") ?# 獲取第一個<button>元素
(5) 通過CSS Selector定位
element = driver.find_element(By.CSS_SELECTOR, ".container .form-input") ?# 通過CSS選擇器
(6) 通過XPath定位
element = driver.find_element(By.XPATH, "//input[@type='text']") # 通過XPath表達式
3. 注意事項
- 區分大小寫:CSS類名和屬性名是大小寫敏感的。
- 唯一性:
find_element()
?返回的是第一個匹配的元素。如果找不到元素,會拋出?NoSuchElementException
?異常。 - 性能建議:
- 優先使用?
ID
?或?NAME
(唯一且穩定)。 - 其次使用?
CSS_SELECTOR
?或?XPath
(靈活性高但性能稍差)。
- 優先使用?
- 結合顯式等待:避免因元素未加載導致的超時錯誤: