selenium中如何模擬頁面滾動?

時間 2021-05-30 21:21:23

1樓:一步一行者

第二個那個是找到並進行賦值。

分成兩部:先找滑動位置,再進行滑動;

找滑動位置可以用:find_element_by_path也可以用find_element_by_css_selector

#找到定位位置第乙個裡面的內容可以複製selector相關的路徑ac=

driver

.find_element_by_css_selector();

#定位滑鼠到指定元素

ActionChains

(driver).

move_to_element(ac

).perform

()對了,需要注意乙個問題,這個是模擬人工重新整理並且訪問,所以執行的時候要把滑鼠放在開啟的瀏覽器,不能後台靜默執行。

2樓:mingcc

你這個只執行了一次拖動到底部,並沒有真正實現滑動載入,每次滑動到底部之後,會有新的資料載入出來,此時頁面的高度會發生改變,我們需要重新獲取高度再進行滑動,直到頁面高度不再增加為止。

# 設定預設條件為True

status = True

while status:

new_height = driver.execute_script(js)

# 每執行一次滾動條拖到最後,就進行一次引數校驗,並且重新整理頁面高度

if new_height > heightdriver.execute_script('window.scrollTo(0, document.

body.scrollHeight)'height = new_height

time.sleep(1)

else當頁面高度不再增加的時候,我們就認為已經是頁面最底部,結束條件判斷

print("滾動條已經處於頁面最下方!"driver.execute_script('window.scrollTo(0, 0)') # 把滾動條拖到頁面頂部

break

3樓:Vgreen

可以用模擬按鍵

(DOWN

)foriin

range(10

):driver

.execute_script

('window.scrollTo(0, document.body.scrollHeight)'

)ActionChains

(driver).

key_down

(Keys

.DOWN).

perform

()time

.sleep(5)

4樓:王奕磊

不知道為什麼我爬京東的頁面的時候,用題主的方法並沒有完成頁面滾動。使用這句js時完成了滾動,可能是視窗滾動"window.scrollBy(0,30000)",但爬下來的資料還是沒有變化,可能還是不對,繼續研究。。。

phantomJS和selenium如何爬取ajax跨域請求的網頁?

maskwang 直接用內建的方法請求解析即可 ex JSON.parse utils sendAJAX url,GET false Selenium PhantomJS提供了頁面等待機制包括顯式等待,等待某一條件成立,大多情況下是等待某一元素出現。還有隱式等待,直接等待某一段時間。詳情檢視 Pyt...

selenium如何實現後台執行

Cyberbolt 寫了乙個CentOS執行selenium的學習記錄 https www.cyberlight.xyz index.php 2020 03 15 python3 selenium在centos服務端執行 from selenium import webdriveroption we...

前端如何分析 chrome 頁面崩潰?

巢鵬 如果你知道復現的方法可以按照這個文件build乙個對應的平台的Chromium debug build,然後復現看Chromium的堆疊。你的情況我看著像OOM,看看這些文章是否能幫到你。我沒有真正做過網頁前端,以前我查OOM一般是做snapshot然後比較。這裡還有一位在日本小姐姐提供的自動...