一、什么是 Python Playwright ?
Python Playwright 是一个 Python 脚本编写工具,适用于自动化测试和 Web 端到端测试的开源工具。它是一种跨浏览器的自动化工具,旨在允许用户通过简单而强大的 Python API 轻松地编写和维护测试脚本。
Python Playwright 可以轻松地与所有主要的浏览器交互,包括 Chrome、Firefox 和 Safari 等,从而使用户能够测试其代码在不同浏览器下的运行情况,确保其工作流具有可靠性和可复现性。
二、Python Playwright 的使用
1、安装 Python Playwright
安装 Python Playwright 的最简单方法是使用 pip。
pip install playwright
您还可以使用以下命令下载其他浏览器驱动程序:
python -m playwright install
在此命令完成后, ,将会下载相关的浏览器驱动程序。这里我选择下载 Chromnium,当然如果你需要使用其他浏览器,只需要使用不同的参数即可。
python -m playwright install chromium
2、启动浏览器
Python Playwright API 使得许多常见的任务,例如将浏览器启动到指定的页面,变得非常容易和直观。
# 导入playwright库
from playwright.sync_api import Playwright, sync_playwright
# 执行一个同步任务
def run(playwright: Playwright) -> None:
# 启动chromium浏览器
browser = playwright.chromium.launch(headless=False) # headless=False 表示我们启动的浏览器有 GUI 界面
# 新建页面
page = browser.new_page()
# 导航到指定页面
page.goto('https://www.baidu.com')
# 关闭浏览器
browser.close()
# 使用with语法,以便在结束时退出playwright
with sync_playwright() as playwright:
run(playwright)
3、部署配置
Python Playwright 的执行力配置非常灵活,以便于根据配置管理执行上下文和运行期间遵循的规则。示例代码如下:
from playwright import sync_playwright
with sync_playwright() as playwright:
# 配置webview组件的放大率,此参数默认值为1
browser = playwright.chromium.launch(headless=False, viewport={'width': 1920, 'height': 1080}, device_scale_factor=2)
# 设置请求超时时间,单位为ms
browser_context = browser.new_context()
page = browser_context.new_page(timeout=10000)
# 创建cookie
browser_context.add_cookies([{'name': 'name1', 'value': 'value1'}, {'name': 'name2', 'value': 'value2'}])
# 设置请求的Referer header属性
page.set_extra_http_headers({'Referer': 'https://www.baidu.com/'})
# Accept-Language头部属性
page.set_extra_http_headers({'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7'})
# 关闭浏览器
browser.close()
4、页面操作
Python Playwright 将页面操作都封装成了丰富的 API ,使得我们能够非常方便地对页面进行各种操作,如:寻找元素、填充表单、模拟鼠标事件等等。请看以下示例代码:
from playwright.sync_api import Playwright, sync_playwright
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
# 导航到baidu首页
page.goto("https://www.baidu.com")
# 输入并搜索
page.type("#kw", "Python Playwright")
page.click("input[type=submit]")
# 获取页面访问的 name 属性值为 '著名的Python Playwright自动化测试库' 的a标签
playright_link = page.locator("[name=' Python Playwright 自动化测试库']").first()
# 鼠标悬停在该元素上
playright_link.hover()
# ...
browser.close()
with sync_playwright() as playwright:
run(playwright)
三、结语
Python Playwright 使得自动化测试变得容易和可靠。本文对 Python Playwright 的重点介绍了它的配置和用法,希望对您有所帮助!
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/257717.html