1. 程式人生 > 實用技巧 >selenium無法定位元素

selenium無法定位元素

由一次selenium無法定位引發的思考

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@name="product_title"]"}

基於以上的報錯,開始排查:

猜測1、xpath不對,不可能,在頁面f12已經定位出來了,繼續猜錯;

猜測2、操作太快,對應元素還沒有加載出來;有可能,來個time.sleep(10),重新跑指令碼,還是報元素定位不到,繼續猜錯

猜測3、元素在iframe定位不到;有可能,開始找

至此問題原因找到,開始處理,先切換對應iframe,

driver.switch_to.frame('frameMain')

再定位元素

driver.find_element_by_xpath('//input[@name="product_title"]').send_keys('標題')

問題完美解決。

排查問題時也附帶想了還有另外幾種可能,一併附上:

1.動態id使得元素定位不到,可以換xpath定位

2.不可見元素定位不到,可以找可見元素