在自动化测试中,定位方法种类众多,常用方法如下:
driver.find_element_by_id()
driver.find_element_by_name()
driver.find_element_by_class_name()
driver.find_element_by_tag_name()
driver.find_element_by_link_text()
driver.find_element_by_partial_link_text()
driver.find_element_by_xpath()
driver.find_element_by_css_selector()
在自动化测试中,重难点之一莫过于元素无法定位;目前我发现的原因有以下几点:
1、定位元素的中的字符有误(即拼写有误)
2、明明是xpath类型,在代码中却写成其他类型;
3、警惕在.find_element_by中的element中多加了一个s,此时,报错为:'list' object has no attribute 'send_keys'
4、则为自己真的定位错误,但是前三者为人为疏忽导致的错误,应该首先排除,否则会浪费大量时间。
5、由于网页还在刷新延迟,程序又定位另一个元素导致,该元素不存在。报错为: Element <p class="ajicon-knodg