1.元素沒有加載完成,就進行定位元素
設置等待:導入時間模塊使用 time.sleep(5)
2.窗口切換 窗口句柄還處在上一個窗口,導致無法定位新窗口的元素。
3.Frame原因定位不到元素
這個是最常見的原因,首先要理解下frame的實質,frame中實際上是嵌入了另一個頁面,而webdriver每次只能在一個頁面識別,
因此需要先定位到相應的frame,對那個頁面里的元素進行定位。
4.動態id定位不到元素
每次調用頁面出現的元素的ID會動態隨機分配。
如果發現是動態id,推薦使用xpath的相對路徑方法查找到該元素。
5.二次定位,如彈出框登錄 如百度登錄彈出框登錄百度賬號,需先定位到百度彈出框,然后再定位到用戶名密碼登錄。
6.不可見元素
加一個循環判斷,找到可見元素(is_displayed())點擊登錄即可。