本次学习内容以chrome浏览器为例,后续不在赘述
安装playwright
pip install playwright
完成后安装playwright支持的浏览器
palywright install
如果下载速度慢,则可以先设置镜像源,这里使用阿里云的镜像源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
测试版chrome下载
下载测试版chrome,可以避免chrome版本自动升级,尤其是对于selenium的chromedriver,可以避免浏览器自动升级导致的实效
初始化浏览器
方法一:使用with
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False, args=['--start-maximized'])
context = browser.new_context(no_viewport=True)
page = context.new_page()
headless为无界面模式参数, --start-maximized和no_viewport=True可最大化浏览器
方法二:不使用with
p = sync_playwright().start()
browser = p.chromium.launch(headless=False, args=['--start-maximized'])
context = browser.new_context(no_viewport=True)
page = context.new_page()
Browser、BrowserContext和Page关系说明
Browser
对应一个浏览器实例,例如chromnium,一个Browser下可以有多个BrowserContext
BrowserContext
BrowserContext是浏览器上下文,相当于一个全新的浏览器配置,相同BrowserContext创建的Page,共享Cookie信息等
Page
浏览器的单个选项窗口,对元素的交互的需要通过Page对象进行操作