采用selenium在测试某网站性能时,出现如下错误:未定位到submit元素
编译器采用idea,语言采用java,浏览器采用Firefox。
在这里呢我进行了以下分析:
1.selenium寻找元素,元素不存在,抛出NoSuchElementException异常,导致测试失败;我们先写个方法判断页面元素是否存在
public boolean doesWebElementExist(WebDriver driver, By selector){
try{
driver.findElement(selector);
return true;
}
catch (NoSuchElementException e){
return false;
}
}
2.webdriver定位不到元素的5种原因
-
动态id定位不到元素
-
iframe原因定位不到元素
-
不在同一个frame里边查找元素
-
xpath描述错误------>在描述路径的时候没有按照xpath的规则来写 造成找不到元素的情况出现
-
点击速度过快,页面没有加载出来就需要点击页面上的元素---->可以自己预估时间通过Thread.sleep(3000);//等待3秒 这个是强制线程休息
我的就是动态id定位不到元素submit
driver.findElement(By.id("submit")).click();
后来我再次定位发现我的id定位元素定错了,应该是head-submit,(注意:最好复制粘贴上去,我自己敲就报错,复制粘贴就没问题,也是没谁了。。。)hhhh有点小尴尬。