赞
踩
在Playwright种,测试层级为
Broswer->Context->Page
browser = playwright.chromium.launch(headless=False, args=['--start-maximized'])
上面启动了一个浏览器,开启有头模式,并且通过args参数向chrome传递开启时窗口最大化。
开启浏览器格式为playwright.browser_type.launch (...args),browser_type为浏览器类型
args为传递给浏览器的参数,这个可以参考浏览器的文档。
忽略HTTPS告警:
'--ignore-certificate-errors'
请参考官方文档,查看完整的API参数列表:BrowserType | Playwright Python
context = browser.new_context(no_viewport=True)
上下文就是浏览器的环境,Page是页面包含了元素、组件的状态等等,而上下文则包括了会话状态、Cookie、页面信息等。
注意,我们需要设置no_viewport=True,否则将默认按照800*600创建视口,你会发现,窗口很大,但是网页很小。
browser_context.add_cookies([cookie_object1, cookie_object2])
参数为字典列表,每个cookie字典有如下字段,
其中url或者域名、path虽然都是可选的,但必须要有一个。
name 名称
value 值
url 可选
domain 域名
path 路径
expires 浮点数,过期时间,Unix时间(精确到秒)
可选
httpOnly 是否为httpOnly,可选
secure 安全模式,可选
sameSite "Strict"|"Lax"|"None" 同站策略,可选
- page = context.new_page()
- page.goto("https://www.baidu.com")
在context上新建一个页面对象然后调用goto方法即可。
- browser_context.close()
- browser.close()
先关闭上下文,再退出浏览器。
关闭上下文时,上下文所属的页面也会一起关闭。
- from playwright.sync_api import sync_playwright
-
- def run(playwright):
- iphone_13 = playwright.devices['iPhone 13']
- browser = playwright.webkit.launch(headless=False)
- context = browser.new_context(
- **iphone_13,
- )
-
- with sync_playwright() as playwright:
- run(playwright)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。