当定位元素失败时,可以从以下方面考虑
1.动态id定位不到元素
解决办法:使用xpath的相对路径方法查找到该元素。
2.iframe原因定位不到元素
原因:一个网页嵌套了多个iframe/frame,直接定位是不行的。
解决办法:要先进入对应的iframe/frame。
语句:driver.switch_to.frame(参数)
frame/iframe的定位方式有3种,一是通过id;二是通过name;三是xpath。
例:switch_to_frame(id)
switch_to_frame(name);
若frame没有id和name,只能是通过xpath方式定位到frame,switch_to_frame(xpath)
注:这可以解决Firefox的问题,但是在Chrome上却找不到frame。
对于Chrome:采用序号的方法,即driver.switch_to.frame(0),0代表最外层。
3.点击速度过快 页面没有加载出来就需要点击页面上的元素。
这个需要增加一定等待时间,显示等待时间可以通过WebDriverWait 和util来实现
4.firefox安全性强,不允许跨域调用出现报错
错误描述:uncaught exception: [Exception… “Component returned failure cod