【Selenium疑難雜症】無法清空輸入框 -- 已解決

此博客僅爲我業餘記錄文章所用,發佈到此,僅供網友閱讀參考,如有侵權,請通知我,我會刪掉。
本文章純野生,無任何借鑑他人文章及抄襲等。堅持原創!!

前言

最近在利用Selenium做一些在瀏覽器上的自動化操作時候,遇到了個別無法使用常規方法處理的難題,所幸,最後也是成功解決該些問題。在這裏將它記錄下來,方便與日後回看,也希望能夠幫助到其他需要的小夥伴們。


Python + Selenium爬蟲視頻教程:https://www.bilibili.com/video/BV1Ka4y1i7Pz

首先執行以下代碼,

from selenium import webdriver
from selenium.webdriver import ActionChains
# 實例化一個瀏覽器對象
browser = webdriver.Chrome()

1. 解決無法清空輸入框

正常的操作是定位到輸入框,然後使用clear()函數即可成功清空輸入框,
示例:

browser.find_element_by_xpath('xxx').click()

但如果是使用該方法無法正常清空輸入框時候,就可以使用以下的操作了。

1.1 執行鼠標事件,然後執行Js

網上能找到個別方法,但不適用,這裏是我自己摸索出來的方法!!!
主要有三個步驟:

  1. 一是定位到輸入框的位置
  2. 二是執行鼠標事件的雙擊
  3. 三是執行Js將輸入框之清空

示例:

# 步驟一
input_box = browser.find_element_by_xpath('xxx')
# 步驟二
ActionChains(browser).double_click(input_box).perform()
ActionChains(browser).release()
# 步驟三
# 需要注意,以下的xxx 爲節點的TagName屬性名稱
browser.execute_script('document.getElementsByTagName("xxx").value="";')

其中需要注意的是:Js中的getElementsByTagName並不是固定的,這裏只需要填寫該標籤的某個屬性名稱即可。
SunriseCai

後話

好了,本次的分享到這裏就結束了。

後續再有遇到什麼疑難雜症時候再進行補充。

有任何疑問歡迎一起交流,還請各位不吝指正。

也歡迎加入QQ羣組織一起交流:648696280

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章