selenium 解決clear方法失效

2022-06-27 19:12:12 字數 2817 閱讀 3472

在做自動化過程中會遇到各種各樣的奇葩問題,遇到這種問題不要著急,仔細想下操作過程看看是否有其他的辦法解決。今天介紹大家經常遇到的問題clear方法失效

所謂的clear的方法失效比如:明明已經定位到了輸入框,輸入內容,使用了clear操作方法,但是沒有生效,內容還在。這個時候就要嘗試下如何使用其他的方法進行操作了。

理清思路:

我們先想象下如果,鍵盤上的刪除鍵壞掉了,你輸入了內容如何進行刪除呢,如何借助selenium來清除呢?(這裡clear已經不能用了)

1、全選然後進行重新輸入內容

2、重新整理頁面,重新輸入內容

3、通過js語法強制清除,重新輸入內容

4、雙擊進行選中輸入內容

先想到了這幾種方法,我們就通過這幾種方法進行用**進行實現

from selenium import

webdriver

from selenium.webdriver.common.keys import

keys

import

time

driver =webdriver.chrome()

driver.get(

'')driver.find_element_by_id('kw

').send_keys('

測試-安靜')

#匯入「ctrl + a」全選。

driver.find_element_by_id('

kw').send_keys(keys.control, 'a'

)time.sleep(2)

#重新輸入

首先提一點,這個在一些場景下可能比較麻煩,因為比如在操作輸入框之前已經在這個頁面進行了其他的輸入或者其他的操作,那麼這個時候在重新整理瀏覽器就會導致其他的操作也沒了,需要重新操作,比較費時,但是也是不錯的結局方法

from selenium import

webdriver

import

time

driver =webdriver.chrome()

driver.get(

'')driver.find_element_by_id('kw

').send_keys('

測試-安靜')

#重新整理頁面

driver.refresh()

time.sleep(2)

#重新輸入

js指令碼雖然測試時候用的比較少,但是用到的時候就是幫助我們解決問題的時候。

from selenium import

webdriver

import

time

driver =webdriver.chrome()

driver.get(

'')driver.find_element_by_id('kw

').send_keys('

測試-安靜')

time.sleep(1)

#通過js語法強制清除

js = '

document.queryselector("#kw").value="";

'driver.execute_script(js)

time.sleep(2)

#重新輸入

通過雙擊選中輸入內容,這個有一些場景也不適用,比如中間有標點符號,或者說有一些雙擊未能選中的詞語,說道雙擊,就要引入滑鼠方法 from selenium.webdriver.common.action_chains import actionchains

from selenium import

webdriver

import

time

from selenium.webdriver.common.action_chains import

actionchains

driver =webdriver.chrome()

driver.get(

'')driver.find_element_by_id('kw

').send_keys('

測試-安靜')

time.sleep(1)

element = driver.find_element_by_id('kw'

)#進行雙擊

actionchains(driver).double_click(element).perform()

time.sleep(2)

#重新輸入

通過安靜執行的****可以發現,雙擊後,選定了乙個詞,但是沒有全部選中。所以這種方法可能需要在特定的場景下進行使用了。

火狐相容selenium版本解決

火狐和selenium不是很好相容,下面提供一些我所知道的可以相容的版本 1.火狐52 selenium 3.3 geckodriver v0.15.0 2.火狐59 selenium 3.11 geckodriver v0.20.1 以上兩種情況親測可以實現 需要注意的是 1.如果火狐的版本是比較...

selenium報錯解決辦法

當瀏覽器要求您接受來自 的證書時,會出現此錯誤。您可以設定為預設忽略這些錯誤,以避免這些錯誤。對於chrome,您需要新增 ignore certificate errors和 ignore ssl errorschromeoptions 引數 options webdriver.chromeopt...

clear方法解決網頁自適應高度的問題

為了解決浮動元素引起父元素無法獲得高度的問題,我們一般在子元素的最後加上乙個spacer div clear both 但是ie和mozilla對div的解釋不同引起一些表現上的差異。在製作網頁的過程中,自適應問題是經常遇到,而又最讓人頭疼的,看了好多種解決的方法,但是都不是萬能的。今天遇到這個問題...