python中selenium操作下拉滾動條

2021-08-10 17:49:46 字數 1376 閱讀 1986

**

在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為滾動條的id,但js中沒有xpath的方法,所以滾動條沒有id的網頁此方法不適用

方法二)使用js指令碼拖動到提定地方

target = driver.find_element_by_id("

id_keypair")

driver.execute_script(

"arguments[0].scrollintoview();

", target) #

拖動到可見的元素去

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

方法三)根據頁面顯示進行變通,傳送tab鍵

在本例中的頁面中,密碼是輸入框,正常手工操作時,可以通過tab鍵會切換到密碼框中,所以根據此思路,在python中也可以傳送tab鍵來切換,使元素顯示

from selenium.webdriver.common.keys import keys

driver.find_element_by_id("

id_login_method_0

").send_keys(keys.tab)

update

前段時間使用robotframe work框架時,selenium2library裡面有乙個非常好用的功能focus,會自動定位到元素,研讀一下原始碼:

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自己寫的方法二)一致,工具給我們做了封裝。

關於 python中的selenium 錯誤

今天在學習python中的selenium時出現了一些錯誤,後來解決了,在這裡與大家分享解決方法。程式碼如下 from selenium import webdriver brower webdriver.firefox brower.get print brower.page source bro...

selenium在python中的各種方法

例項 from selenium import webdriver import time from selenium.webdriver.chrome.options import options selenium的headless模式 chrome options options chrome ...

Python 爬蟲利器 Selenium

前面幾節,我們學習了用 requests 構造頁面請求來爬取靜態網頁中的資訊以及通過 requests 構造 ajax 請求直接獲取返回的 json 資訊。還記得前幾節,我們在構造請求時會給請求加上瀏覽器 headers,目的就是為了讓我們的請求模擬瀏覽器的行為,防止被 的反爬蟲策略限制。今天要介紹...