【python自动化】Playwright基础教程(二)

简介: 【python自动化】Playwright基础教程(二)

安装

1、直接使用playwright

image.png

2、使用官方提供的pytest插件版本(可选)

image.png

这两种的区别:

· pytest版本支持所有pytest功能,并且提供相关的断言测试方法

· pytest版本和pytest有比较强的关联性,需要对pytest框架有一定的了解

· 直接安装的版本更适合纯新手学习、应用、实战

3、安装Chromium、Firefox、WebKit等浏览器的驱动文件(内置浏览器)

image.png

这一步下载会比较慢如果你没有科学上网的话。

这些内容最终会下载到C:\Users\xiaozai\AppData\Local\ms-playwright文件夹下,也可以指定文件夹操作,详细可以去查看playwright的命令行参数,这里建议默认。

快速入门&脚本录制

以下脚本为简单启动一个浏览器并进入对应网址。除了注释,我后面还会有逐行代码解析。 image.png image.png

代码逐步解析

首先,我使用的是同步模式,入门学习不建议直接学异步模式,不要有这么多好奇心,先入门再说。

 

from playwright.sync_api import sync_playwright:从playwright.sync_api模块中导入sync_playwright函数。这个函数用于同步启动Playwright。

 

def pw_test()::定义了一个名为pw_test的函数。

 

playwright = sync_playwright().start():使用同步方式启动Playwright库,并将返回的playwright对象赋值给变量playwright。这个playwright对象可以用来启动浏览器和创建页面等操作。

 

browser = playwright.chromium.launch(headless=False):通过playwright对象的chromium.launch()方法启动一个Chromium内核的浏览器实例。参数headless=False表示以非无头模式运行,这意味着浏览器界面会显示出来。

 

context = browser.new_context():在浏览器实例上创建一个新的上下文(Context)对象。上下文相当于一个浏览器窗口,用于隔离各个页面之间的环境。

 

page = context.new_page():在上下文中创建一个新的页面(Page)对象。每个页面可以看作是一个浏览器标签页。

 

page.goto("https://pingcode.com/signin"):使用page对象的goto()方法导航到指定的网址。

 

page.pause():暂停代码的执行,显示Playwright窗口,以便进行相关操作,如元素定位或录制操作。

 

page.wait_for_timeout(3000):设置一个最大的等待超时时间,以毫秒为单位。这里表示等待3秒,你可以理解为是time.sleep(3)。

对于page.pause(),代码运行到此处,你会发现浏览器旁边会弹出如下界面,这时候你就可以进行录制操作,点击Record按钮,你操作页面的时候这里就会自动帮你生成代码。

你可以通过这种方式快速了解playwright代码的编写方式,如定位、输入、点击等操作。

image.png

点击小窗口的Record按钮,可以进入录屏模式,进入录屏模式后你看看到浏览器的元素定位等功能,如下图所示。 image.png

image.png

此时,我手动输入了一些内容,这时候录制模式已经自动帮我转化为了代码。

我们根据录制的代码就可以开始模仿着写了。


image.png image.png

这时候启动代码就会发现可以登录成功。

目录
相关文章
|
23小时前
|
人工智能 IDE 开发工具
python环境安装教程
python环境安装教程
13 0
|
2天前
|
机器学习/深度学习 算法 Python
深入浅出Python机器学习:从零开始的SVM教程/厾罗
深入浅出Python机器学习:从零开始的SVM教程/厾罗
|
2天前
|
JavaScript 前端开发 测试技术
《手把手教你》系列技巧篇(三十八)-java+ selenium自动化测试-日历时间控件-下篇(详解教程)
【5月更文挑战第2天】在自动化测试过程中,经常会遇到处理日期控件的点击问题。宏哥之前分享过一种方法,但如果输入框是`readonly`属性,这种方法就无法奏效了。不过,通过修改元素属性,依然可以实现自动化填写日期。首先,定位到日期输入框并移除`readonly`属性,然后使用`sendKeys`方法输入日期。这样,即使输入框设置了`readonly`,也能成功处理日期控件。
19 1
|
2天前
|
存储 安全 数据库
自动化密码填充:使用Python提高日常工作效率
自动化密码填充:使用Python提高日常工作效率
10 0
|
2天前
|
SQL 数据库 数据库管理
python自动生成SQL语句自动化
python自动生成SQL语句自动化
12 1
|
2天前
|
算法 机器人 Python
Python实现教程:平面最短路径算法
Python实现教程:平面最短路径算法
10 1
|
3天前
|
持续交付 Python
使用Python实现自动化Web内容巡检
使用Python实现自动化Web内容巡检
11 1
|
3天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(三十七)-java+ selenium自动化测试-日历时间控件-上篇(详解教程)
【5月更文挑战第1天】该文介绍了使用Selenium自动化测试网页日历控件的方法。首先,文章提到在某些Web应用中,日历控件常用于选择日期并筛选数据。接着,它提供了两个实现思路:一是将日历视为文本输入框,直接输入日期;二是模拟用户交互,逐步选择日期。文中给出了JQueryUI网站的一个示例,并展示了对应的Java代码实现,包括点击日历、选择日期等操作。
18 0
|
6天前
|
监控 测试技术 持续交付
Python自动化测试代理程序可用性
总之,通过编写测试用例、自动化测试和设置监控系统,您可以确保Python自动化测试代理程序的可用性,并及时发现和解决问题。这有助于提供更可靠和高性能的代理服务。
11 4
|
27天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。

热门文章

最新文章