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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章