python+selenium 中元素定位不到的原因:Unable to locate element

在自动化测试中,定位方法种类众多,常用方法如下:

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-knodge icon-txt"> is not clickable at point (819.75,574) because another element <div id="loadingoverlay"> obscures it
解决办法是增加延时Time.sleep(2)

猜你喜欢

转载自blog.csdn.net/jjb_584520/article/details/83308716