selenium出現“element not interactable”問題總結


“element not interactable”問題根因:元素不可交互,可能的原因及解決方法如下所示:

1、檢查元素的定位(XPATH、CSS_SELECTOR內的內容)是否寫正確

2、代碼中元素進行獲取的時候查看是否已經加載出來,等待元素加載可以使用顯式等待

element = WebDriverWait(browser,20,0.5).until(EC.presence_of_element_located((By.XPATH,'//*[@id="app"]/div')))
3、元素在頁面上不可見,需要拖動下拉框才能看到這個元素,此時需要讓元素在頁面上可見,才可操作
4、 可能是頁面元素被iframe標簽包裹起來了:如163郵箱登錄
 
 
from time import sleep
from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)

driver.get("https://mail.163.com/")
driver.find_element_by_link_text("密碼登錄").click()
driver.switch_to.frame(driver.find_element_by_xpath('//iframe[@scrolling="no"]')) #需要定位到iframe標簽
driver.find_element_by_xpath('//input[@name="email"]').send_keys("lmsgau")
driver.find_element_by_link_text("登  錄").click() #源代碼中若是有空格,此處也必須有空格
sleep(10)
driver.quit()

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM