selenium無法定位元素
阿新 • • 發佈:2021-01-21
由一次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.不可見元素定位不到,可以找可見元素