is not reachable by keyboard" type="hidden"/>

Selenium操作元素問題:Element


1、問題:使用selenium進行元素的抓取,無法進行自動選擇。

抓取的頁面截圖:

頁面點擊效果:

 

 

 手動操作:使用鼠標點擊該欄位,自動下拉展示可選項。使用元素定位,卻無法進行定位到對應的選項內容。

解決思路:模擬鍵盤操作,鼠標點擊展示可選項,通過上下鍵和ENTER鍵進行選擇。

2、代碼展示:

# 證件有效期
self.driver.execute_script('window.scrollBy(0,250)')  # 滑動頁面滾動
element =self.driver.find_element_by_xpath('//[@id="countValidTime"]/div/div/div') # 定位選擇欄位
element.click() # 模擬鼠標點擊
sleep(2)
element.send_keys(Keys.ENTER)

最終結果:

 

 

 運行結果顯示:selenium.common.exceptions.ElementNotInteractableException: Message: Element <div class="ant-select-selection__placeholder"> is not reachable by keyboard

3、最終解決方案,代碼修改

 1 # 證件有效期
 2 self.driver.execute_script('window.scrollBy(0,250)')  # 滑動頁面滾動
 3 element =self.driver.find_element_by_xpath('//[@id="countValidTime"]/div/div/div') # 定位選擇欄位
 4 # self.driver.implicitly_wait(5)
 5 element.click() # 模擬鼠標點擊
 6 # sleep(2)
 7 self.driver.implicitly_wait(5)
 8 # element.submit()
 9 # sleep(1)
10 # element.send_keys(Keys.ENTER)
11 self.driver.switch_to.active_element.send_keys(Keys.ENTER)

運行后,完美的模擬鍵盤操作。

 

 


免責聲明!

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



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