selenium批量运行脚本时,系统页面素加载快慢很不稳定,应该如何做等待机制呀?
请教大家一个问题,学习使用selenium进行自动化测试时:有的时候元素加载慢,我就用这个函数WebDriverWait(browser,15).until(lambda x:x.find_element_by_id("ProjectGateWayName"))。但是发现这个远远不够,因为每个元素加载这次运行时候不慢,下次可能就慢。感觉总不能每个元素加载前都写一个WebDriverWait()吧。。。。大家都是咋处理的呀?
隐式等待是对全局都生效的 可以考虑用 自己封装一个 getElement方法,里面写上等待元素出现的方法。
那么每次去获取元素的时候,都调用自己封装的这个方法,就可以了。
简易的java代码参考:
public WebElement getElement(final By by)
{
.....
element= new WebDriverWait(driver,10).until(new ExpectedCondition<WebElement>()
{....}
)
}
只要元素在10秒内出现,就一直等到它出现,再执行其他操作。如果超过10秒没出现就catch异常。时间10秒是自己写的,可以任意定义。
既然有需求,我会写个关于这个问题的文章。欢迎关注哦。 youreyebows 发表于 2018-2-8 09:07
自己封装一个 getElement方法,里面写上等待元素出现的方法。
那么每次去获取元素的时候,都调用自己封 ...
自己封装方法的效果跟,调用WebDriverWait()效果是不是一样呀。像这种元素加载不稳定的,可能是程序原因还是服务器原因还是代码、工具、环境的原因。如何排查确定呢 Real_小T 发表于 2018-2-7 17:54
隐式等待是对全局都生效的 可以考虑用
多谢,已采用
页:
[1]