hi~,我是测试人芸芸,一枚北漂女程序员,八小时外玩古筝。
现在总结一下,在编写selenium自动化脚本过程中,我印象最深的三个大坑。
坑一:因存在多个元素导致可定位,但不可点击
这个问题,我尝试很多方法后,终于想明白了。相对路径也好,绝对路径也罢,定位出来的相同属性的元素至少是两个。
通过哪些方法来判断到底是几个呢?可以通过多种方式。
首先是可以用js验证,具体方法是:
document.querySelectorAll('css路径')
通过调用这个方式,正确你查到的元素结果会不止一个。通过在鼠标浮上去,判断哪个元素是要查找的元素。
如果找到元素,就用列表按索引(下标)来取值。[0]代表是第一个,[1]代表是第二个,以此类推。
在脚本中,把定位的css路径或xpath路径放到脚本对应位置。效果大概是这个的:
driver.find_elements_by_css_selector("example")[1]
在解决问题的过程中,确实求助了chatGTP,但在真正用的上的,只能是提供了一些思路。如何和chatGTP沟通,还是需要继续训练的。
剩下的出坑指南,明天继续~~