日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python中selenium操作下拉滾動(dòng)條的幾種方法匯總

系統(tǒng) 2037 0

UI自動(dòng)化中經(jīng)常會(huì)遇到元素識(shí)別不到,找不到的問題,原因有很多,比如不在iframe里,xpath或id寫錯(cuò)了等等;但有一種是在當(dāng)前顯示的頁面元素不可見,拖動(dòng)下拉條后元素就出來了。

比如下面這樣一個(gè)網(wǎng)頁,需要進(jìn)行拖動(dòng)下拉條后才能通過selenium找到密碼輸入框的元素,

python中selenium操作下拉滾動(dòng)條的幾種方法匯總_第1張圖片

python中selenium操作下拉滾動(dòng)條的幾種方法匯總_第2張圖片

在python中有幾種方法解決這種問題,簡單介紹下,給需要的人:

方法一)使用js腳本直接操作,方法如下:

            
js="var q=document.getElementById('id').scrollTop=10000"
driver.execute_script(js)
          

或:

            
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
          

這里的id為滾動(dòng)條的id,但js中沒有xpath的方法,所以滾動(dòng)條沒有id的網(wǎng)頁此方法不適用

方法二)使用js腳本拖動(dòng)到提定地方

            
target = driver.find_element_by_id("id_keypair")
driver.execute_script("arguments[0].scrollIntoView();", target) #拖動(dòng)到可見的元素去
          

這個(gè)方法可以將滾動(dòng)條拖動(dòng)到需要顯示的元素位置,此方法用途比較廣,可以使用

方法三)根據(jù)頁面顯示進(jìn)行變通,發(fā)送tab鍵

在本例中的頁面中,密碼是輸入框,正常手工操作時(shí),可以通過tab鍵會(huì)切換到密碼框中,所以根據(jù)此思路,在python中也可以發(fā)送tab鍵來切換,使元素顯示

            
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id("id_login_method_0").send_keys(Keys.TAB)
          

update

前段時(shí)間使用robotframe work框架時(shí),selenium2library里面有一個(gè)非常好用的功能Focus,會(huì)自動(dòng)定位到元素,研讀一下源碼:

            
 def focus(self, locator):
    """Sets focus to element identified by `locator`."""
    element = self._element_find(locator, True, True)
    self._current_browser().execute_script("arguments[0].focus();", element)
          

從源碼中我們可以看到,此方法與我們在python自己寫的方法二)一致,工具給我們做了封裝。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 新平| 大同县| 霍山县| 如皋市| 鞍山市| 海口市| 广河县| 唐山市| 固阳县| 松潘县| 天台县| 连云港市| 盐亭县| 永兴县| 玛曲县| 内乡县| 赣榆县| 曲水县| 大安市| 泾川县| 广宁县| 桃园县| 上栗县| 离岛区| 阜南县| 宜丰县| 五莲县| 威信县| 乌鲁木齐县| 浦县| 北辰区| 遂宁市| 壤塘县| 施甸县| 彭阳县| 大关县| 东兰县| 南安市| 阜阳市| 湟中县| 福贡县|