《最新出爐》系列入門篇-Python+Playwright自動化測試-46-鼠標滾輪操作

1.簡介

有些網站爲了節省流量和資源,提高加載效率,採用的是動態加載(懶加載)的,也就是當拖動頁面右側滾動條後會自動加載網頁下面的內容,不拖動就不會加載的或者通過鼠標滾輪操作。

2.wheel模擬鼠標滾動

wheel模擬鼠標滾動,就是通過調度一個wheel事件。(滾輪事件如果不處理可能會導致滾動,該方法不會等待滾動結束才返回。)語法如下:

    def wheel(self, delta_x: float, delta_y: float) -> None:
        """Mouse.wheel

        Dispatches a `wheel` event.

        **NOTE** Wheel events may cause scrolling if they are not handled, and this method does not wait for the scrolling
        to finish before returning.

        Parameters
        ----------
        delta_x : float
            Pixels to scroll horizontally.
        delta_y : float
            Pixels to scroll vertically.
        """

2.1參數詳解

參數

類型

釋義

delta_x

float

要水平滾動的像素

delta_y

float

要垂直滾動的像素

2.2使用方法

mouse.wheel(delta_x, delta_y)

3.項目實戰

宏哥這裏就用菜鳥教程的網站進行講解和演示:一邊滾動一邊加載網頁內容。

3.1代碼設計

3.2參考代碼

# coding=utf-8🔥

# 1.先設置編碼,utf-8可支持中英文,如上,一般放在第一行

# 2.註釋:包括記錄創建時間,創建人,項目名稱。
'''
Created on 2023-12-16
@author: 北京-宏哥
公衆號:北京宏哥
Project: 《最新出爐》系列入門篇-Python+Playwright自動化測試-45-鼠標滾輪操作
'''

# 3.導入模塊
from playwright.sync_api import Playwright, sync_playwright, expect

def run(playwright: Playwright) -> None:

    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://www.runoob.com/")
    page.wait_for_timeout(1000)
    for i in range(50):
        page.mouse.wheel(0, 100)
        page.wait_for_timeout(500)
    #page.pause()
    context.close()
    browser.close()

with sync_playwright() as playwright:
    run(playwright)

3.3運行代碼

1.運行代碼,右鍵Run'Test',控制檯輸出,如下圖所示:

2.運行代碼後電腦端的瀏覽器的動作。如下圖所示:

4.小結

 好了,今天時間也不早了,宏哥就講解和分享到這裏,感謝您耐心的閱讀,希望對您有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章