自动化测试页面元素被遮挡
2018-02-27 14:25 钱先生 阅读(1212) 评论(0) 编辑 收藏 举报注: 以下内容引自 http://blog.csdn.net/zhou331214/article/details/79316872
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