自动化测试页面元素被遮挡

注: 以下内容引自 http://blog.csdn.net/zhou331214/article/details/79316872

 

selenium测试中的一些好习惯

原创 2018年02月12日 15:40:48
  • 15

 

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

 

转载于:https://www.cnblogs.com/cheese320/p/8478710.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值