在定位元素过程中,总会遇到这样那样的问题,下面就最近遇到的4大类问题,得到的解决方法,来做个总结。
- xpath描述错误的
这个是因为在描述路径的时候没有按照xpath的规则来写 造成找不到元素的情况出现
2.动态id定位不到元素
在工作过程中,有时候会遇到类似这样的动态id
//[@id=“listbg00.42585085760747465”]/td[3]/img
相应的直接copy xpath 的方法得到:
//[@id=“listbg00.46422763314941284”]/td[3]/img
对于此类方法,不能通过id 以及简单的copy path去准确定位元素,因为他们是动态变化的。
解决方法:
采用xpath定位方法中,属性+层次相结合的方法可以得到,比如:
find_element_by_xpath("//td[class=‘tessdoperate’]/img") - 点击速度过快 页面没有加载出来,就需要点击页面上的元素
对于这种情况,,解决此方法:
只需要加合理的时间等待。
诸如:time.sleep(3) - 不在同一个frame里边查找元素
我们会遇到使用id/xpath/name都不能准确定位元素,主要是因为使用到了frame框架。
那么如何去定位元素,如何去找元素?
通过IDE去模拟,然后再找到该元素所在的frame。<