首页 > python学习 > playwright包中的同步模块sync_api
2021
01-04

playwright包中的同步模块sync_api

Playwright是一个微软开源的浏览器自动化工具。可通过单个API自动执行Chromium,Firefox和WebKit浏览器,支持无头浏览器(headless),Linux、macOS、Windows下均可以使用,
Playwright提供的自动化技术是绿色的,功能强大,稳定且速度快。

一、安装模块

pip install playwright

二、下载浏览器及驱动
python -m playwright install

    winwods下默认下载地址:C:\Users\%USERNAME%\AppData\Local\ms-playwright
python -m playwright [options] [command]
options:
    -V,--version:输出版本号
    -h, --help:帮组信息

Commands:
    open [url]:打开指定URL
    cr [url]:用Chromium打开指定URL
    ff [url]:用Firefox打开指定URL
    wk [url]:用WebKit打开指定URL
    codegen [options] [url]:打开页面并生成操作代码
    screenshot [options]  :页面截图
    pdf [options]  :保存页面为pdf
    install:安装必要的浏览器和浏览器驱动
    help [command]:显示指定Commands的帮助信息

打开页面并生成操作代码

python -m playwright codegen
    -o, --output :保存的代码文件
    --target :保存文件的类型,可选值:javascript, python, python-async, csharp(默认"python")
    -b, --browser :使用浏览器类型, 可选cr,chromium,ff,firefox,wk,webkit(default:"chromium")
    --color-scheme :更改浏览器主题,可选"light"或"dark"
    --device :模拟的设备名称,如"iPhone 11"
    --geolocation :指定地理位置 例如 "37.819722,-122.478611"
    --lang :指定语言和区域,如"en-GB"
    --save-storage :保存浏览器状态到指定文件
    --load-storage :从指定文件载入浏览器状态
    -proxy-server :指定代理,如"http://myproxy:3128"或"socks5://myproxy:8080"
    --timezone 

三、导入模块
from playwright.sync_api import sync_playwright

四、创建同步对象
playwright = sync_playwright()

五、创建浏览器对象

browser=playwright.[chromium|firefox|webkit].launch(Parameters)

六、创建一个浏览器上下文

相当于一个独立的浏览器进程,不会与其他浏览器上下文共享cookie和缓存等信息

context=browser.new_context(Parameters)

七、在上下文中创建一个页面(标签页)

page=context.new_page()

页面的键盘对象

通过页面对象的keyboard属性获得键盘对象,用于模拟鼠标操作

keyboard=page.keyboard

键盘操作的方法

down(key):按下键盘某一个按键,触发keydown事件
insertText(text):一次性输入整个字符串,不会触发keydown,keyup或keypress事件
press(key,delay):按下键盘若干个按键,触发keydown和keyup事件
    多个按键之间用加号(+)连接
    delay表示按下松开的时间间隔(毫秒)
type(text,delay):依次输入字符串的每个字符,触发keydown,keyup或keypress事件
    delay表示两个字符输入的时间间隔
up(key):松开键盘某一个按键,触发keyup事件

页面的鼠标对象

通过页面对象的mouse属性获得鼠标对象,用于模拟鼠标操作

mouse=page.mouse

鼠标操作的方法

click(x,y,delay,button,click_count):在页面指定位置处点击鼠标按键
    x,y:float,为相对于页面左上角的坐标
    delay:int(0),鼠标按下松开的时间间隔(毫秒)
    button:str('left'),按下的按键,可选值left,right,middle
    click_count:int(1),点击的次数
dblclick(x,y,delay,button):在页面指定位置处双击鼠标按键
down(button,click_count):按下鼠标按键,触发mousedown事件
move(x,y,steps):鼠标移动到指定坐标处,steps为移动到指定坐标的时间,单位(1/10秒)
up(button,click_count):松开鼠标按键,触发mouseup事件
最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。