selenium測試中的一些好習慣

1.對於頁面中的一些Button,可能會因爲該元素被遮擋或沒有展示在可見區域(如在頁面底部),此時通過WebElement.Click()可能會觸發不了Click事件。我們可以通過執行JS去觸發click事件:((JavascriptExecutor)webDriver).executeScript("arguments[0].click();", webElement);

2.在對一些元素進行操作後,頁面發生跳轉或加載Ajax的時候,添加一個Wait方法等待page load完成再進行後續操作。方法是在某個時間段內判斷document.readyState是不是complete。

def isPageLoaded(driver):
    js = "return document.readyState"
    res = driver.execute_script(js)
    return res == "complete"

def waitForPageLoad(driver):
    WebDriverWait(driver, 10).until(isPageLoaded)
注意:在使用WebDriverWait函數時,需要導入:from selenium.webdriver.support.ui import WebDriverWait

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章