selenium 定位元素不穩定怎么解決?


腳本問答題導致測試用例不穩定,DOM還沒加載出元素就執行了腳本導致報回錯,這種只要使用答顯式等待大部分都能解決。

 ###############

from selenium import webdriver

from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import  expected_conditions as EC
from time import sleep


# 實例化瀏覽器
driver = webdriver.Firefox()
driver.get("https://www.baidu.com")
element = (By.CSS_SELECTOR,'#kw')
WebDriverWait(driver,10).until(EC.presence_of_element_located(element)).send_keys('admin')
sleep(2)
driver.quit()

可以分開寫:
driver = webdriver.Firefox()
driver.get("https://www.baidu.com")
element = (By.CSS_SELECTOR,'#kw')
wait = WebDriverWait(driver,10)
element = wait.until(EC.presence_of_element_located(element))
element.send_keys('admin')
sleep(2)
driver.quit()

如果找不到元素,會報出一個異常,

################

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM