欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中的selenium實(shí)現(xiàn)自動(dòng)向下滾動(dòng)頁(yè)面并指定最大滑動(dòng)距離

 更新時(shí)間:2022年02月11日 16:07:33   作者:呆萌的代Ma  
這篇文章主要介紹了python中的selenium實(shí)現(xiàn)自動(dòng)向下滾動(dòng)頁(yè)面并指定最大滑動(dòng)距離,下文有關(guān)selenium的資料介紹有一定的參考價(jià)值,需要的小伙伴可以參考一下

需要selenium控制的chrome向下滑動(dòng),自動(dòng)加載一些內(nèi)容,核心代碼是:

browser.execute_script("window.scrollBy(0,300)")

這行可以向下滑動(dòng)300個(gè)像素

需要的工具函數(shù)如下:

def roll_window_to_bottom(browser, stop_length=None, step_length=500):
? ? """selenium 滾動(dòng)當(dāng)前頁(yè)面,向下滑
? ? :param browser: selenium的webdriver
? ? :param stop_length: 滑動(dòng)的最大值
? ? :param step_length: 每次滑動(dòng)的值
? ? """
? ? original_top = 0
? ? while True: ?# 循環(huán)向下滑動(dòng)
? ? ? ? if stop_length:
? ? ? ? ? ? if stop_length - step_length < 0:
? ? ? ? ? ? ? ? browser.execute_script("window.scrollBy(0,{})".format(stop_length))
? ? ? ? ? ? ? ? break
? ? ? ? ? ? stop_length -= step_length
? ? ? ? browser.execute_script("window.scrollBy(0,{})".format(step_length))
? ? ? ? time.sleep(0.5 + random.random()) ?# 停頓一下
? ? ? ? check_height = browser.execute_script(
? ? ? ? ? ? "return document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;")
? ? ? ? if check_height == original_top: ?# 判斷滑動(dòng)后距頂部的距離與滑動(dòng)前距頂部的距離
? ? ? ? ? ? break
? ? ? ? original_top = check_height

使用示例:

from selenium import webdriver
import time
import random


def roll_window_to_bottom(browser, stop_length=None, step_length=500):
? ? """selenium 滾動(dòng)當(dāng)前頁(yè)面,向下滑
? ? :param browser: selenium的webdriver
? ? :param stop_length: 滑動(dòng)的最大值
? ? :param step_length: 每次滑動(dòng)的值
? ? """
? ? original_top = 0
? ? while True: ?# 循環(huán)向下滑動(dòng)
? ? ? ? if stop_length:
? ? ? ? ? ? if stop_length - step_length < 0:
? ? ? ? ? ? ? ? browser.execute_script("window.scrollBy(0,{})".format(stop_length))
? ? ? ? ? ? ? ? break
? ? ? ? ? ? stop_length -= step_length

? ? ? ? browser.execute_script("window.scrollBy(0,{})".format(step_length))
? ? ? ? time.sleep(0.5 + random.random()) ?# 停頓一下
? ? ? ? check_height = browser.execute_script(
? ? ? ? ? ? "return document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;")
? ? ? ? if check_height == original_top: ?# 判斷滑動(dòng)后距頂部的距離與滑動(dòng)前距頂部的距離
? ? ? ? ? ? break
? ? ? ? original_top = check_height


def main():
? ? option = webdriver.ChromeOptions()
? ? option.add_argument('lang=zh_CN.UTF-8') ?# 設(shè)置
? ? browser = webdriver.Chrome(chrome_options=option, desired_capabilities={"page_load_strategy": "none"})
? ? browser.get("http://news.baidu.com/")
? ? roll_window_to_bottom(browser, stop_length=700)


if __name__ == '__main__':
? ? main()

到此這篇關(guān)于python中的selenium實(shí)現(xiàn)自動(dòng)向下滾動(dòng)頁(yè)面并指定最大滑動(dòng)距離的文章就介紹到這了,更多相關(guān)selenium實(shí)現(xiàn)自動(dòng)向下滾動(dòng)頁(yè)面并指定最大滑動(dòng)距離內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用requests庫(kù)進(jìn)行請(qǐng)求重試

    Python使用requests庫(kù)進(jìn)行請(qǐng)求重試

    在進(jìn)行網(wǎng)絡(luò)請(qǐng)求時(shí),由于網(wǎng)絡(luò)波動(dòng)、服務(wù)器繁忙等原因,可能會(huì)出現(xiàn)請(qǐng)求失敗的情況,為了提高請(qǐng)求的成功率,我們可以使用請(qǐng)求重試機(jī)制,本文就來(lái)講講如何在 Python 中使用 requests 庫(kù)進(jìn)行請(qǐng)求重試吧
    2023-06-06
  • python中HTMLParser模塊知識(shí)點(diǎn)總結(jié)

    python中HTMLParser模塊知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python中HTMLParser模塊知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。
    2021-01-01
  • django 控制頁(yè)面跳轉(zhuǎn)的例子

    django 控制頁(yè)面跳轉(zhuǎn)的例子

    今天小編就為大家分享一篇django 控制頁(yè)面跳轉(zhuǎn)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python中return的返回和執(zhí)行實(shí)例

    python中return的返回和執(zhí)行實(shí)例

    今天小編就為大家分享一篇python中return的返回和執(zhí)行實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python實(shí)現(xiàn)遞歸查找某個(gè)路徑下所有文件中的中文字符

    python實(shí)現(xiàn)遞歸查找某個(gè)路徑下所有文件中的中文字符

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)遞歸查找某個(gè)路徑下所有文件中的中文字符,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • python 爬取騰訊視頻評(píng)論的實(shí)現(xiàn)步驟

    python 爬取騰訊視頻評(píng)論的實(shí)現(xiàn)步驟

    這篇文章主要介紹了python 爬取騰訊視頻評(píng)論的實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用python爬蟲,感興趣的朋友可以了解下
    2021-02-02
  • Python Flask請(qǐng)求擴(kuò)展與中間件相關(guān)知識(shí)總結(jié)

    Python Flask請(qǐng)求擴(kuò)展與中間件相關(guān)知識(shí)總結(jié)

    今天帶大家學(xué)習(xí)的是關(guān)于Python Flask的相關(guān)知識(shí),文章圍繞著Flask請(qǐng)求擴(kuò)展與中間件的知識(shí)展開(kāi),文中有非常詳細(xì)的介紹,需要的朋友可以參考下
    2021-06-06
  • Python減少循環(huán)層次和縮進(jìn)的技巧分析

    Python減少循環(huán)層次和縮進(jìn)的技巧分析

    這篇文章主要介紹了Python減少循環(huán)層次和縮進(jìn)的技巧,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python優(yōu)化代碼跳出循環(huán)以減少循環(huán)層次的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-03-03
  • 詳談在flask中使用jsonify和json.dumps的區(qū)別

    詳談在flask中使用jsonify和json.dumps的區(qū)別

    下面小編就為大家分享一篇詳談在flask中使用jsonify和json.dumps的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Python對(duì)圖片進(jìn)行二值化的實(shí)現(xiàn)方法

    Python對(duì)圖片進(jìn)行二值化的實(shí)現(xiàn)方法

    圖像的二值化處理是將圖像上的像素點(diǎn)的灰度值設(shè)置為0或255,也就是將整個(gè)圖像呈現(xiàn)出明顯的只有黑和白的視覺(jué)效果,二值化是圖像分割的一種最簡(jiǎn)單的方法,可以把灰度圖像轉(zhuǎn)換成二值圖像,本文給大家介紹了Python對(duì)圖片進(jìn)行二值化的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2025-10-10

最新評(píng)論