【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

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

目录
相关文章
|
5天前
|
开发者 Python
使用Python实现自动化邮件通知:当长时程序运行结束时
本文介绍了如何使用Python实现自动化邮件通知功能,当长时间运行的程序完成后自动发送邮件通知。主要内容包括:项目背景、设置SMTP服务、编写邮件发送函数、连接SMTP服务器、发送邮件及异常处理等步骤。通过这些步骤,可以有效提高工作效率,避免长时间等待程序结果。
41 9
|
5天前
|
运维 监控 网络安全
自动化运维的崛起:如何利用Python脚本简化日常任务
【10月更文挑战第43天】在数字化时代的浪潮中,运维工作已从繁琐的手工操作转变为高效的自动化流程。本文将引导您了解如何运用Python编写脚本,以实现日常运维任务的自动化,从而提升工作效率和准确性。我们将通过一个实际案例,展示如何使用Python来自动部署应用、监控服务器状态并生成报告。文章不仅适合运维新手入门,也能为有经验的运维工程师提供新的视角和灵感。
|
6天前
|
BI Python
SciPy 教程 之 Scipy 显著性检验 8
本教程介绍SciPy中显著性检验的应用,包括如何利用scipy.stats模块进行显著性检验,以判断样本与总体假设间的差异是否显著。通过示例代码展示了如何使用describe()函数获取数组的统计描述信息,如观测次数、最小最大值、均值、方差等。
14 1
|
7天前
|
Python
SciPy 教程 之 Scipy 显著性检验 6
显著性检验是统计学中用于判断样本与总体假设间是否存在显著差异的方法。SciPy的scipy.stats模块提供了执行显著性检验的工具,如T检验,用于比较两组数据的均值是否来自同一分布。通过ttest_ind()函数,可以获取两样本的t统计量和p值,进而判断差异是否显著。示例代码展示了如何使用该函数进行T检验并输出结果。
10 1
|
8天前
|
Python
SciPy 教程 之 Scipy 显著性检验 3
本教程介绍Scipy显著性检验,包括其基本概念、原理及应用。显著性检验用于判断样本与总体假设间的差异是否显著,是统计学中的重要工具。Scipy通过`scipy.stats`模块提供了相关功能,支持双边检验等方法。
17 1
|
10天前
|
存储 Python
Python自动化脚本编写指南
【10月更文挑战第38天】本文旨在为初学者提供一条清晰的路径,通过Python实现日常任务的自动化。我们将从基础语法讲起,逐步引导读者理解如何将代码块组合成有效脚本,并探讨常见错误及调试技巧。文章不仅涉及理论知识,还包括实际案例分析,帮助读者快速入门并提升编程能力。
36 2
|
11天前
|
机器学习/深度学习 Python
SciPy 教程 之 SciPy 插值 2
SciPy插值教程:介绍插值概念及其在数值分析中的应用,特别是在处理数据缺失时的插补和平滑数据集。SciPy的`scipy.interpolate`模块提供了强大的插值功能,如一维插值和样条插值。通过`UnivariateSpline()`函数,可以轻松实现单变量插值,示例代码展示了如何对非线性点进行插值计算。
15 3
|
11天前
|
数据采集 IDE 测试技术
Python实现自动化办公:从基础到实践###
【10月更文挑战第21天】 本文将探讨如何利用Python编程语言实现自动化办公,从基础概念到实际操作,涵盖常用库、脚本编写技巧及实战案例。通过本文,读者将掌握使用Python提升工作效率的方法,减少重复性劳动,提高工作质量。 ###
24 1
|
12天前
|
机器学习/深度学习 数据处理 Python
SciPy 教程 之 SciPy 空间数据 7
本教程介绍了SciPy的空间数据处理功能,涵盖如何使用`scipy.spatial`模块进行点的位置判断、最近点计算等操作。还详细解释了距离矩阵的概念及其在生物信息学中的应用,以及汉明距离的定义和计算方法。示例代码展示了如何计算两个点之间的汉明距离。
21 1
|
8天前
|
Python
SciPy 教程 之 Scipy 显著性检验 5
显著性检验用于判断样本与总体假设间的差异是否由随机变异引起,或是假设与真实情况不符所致。SciPy通过scipy.stats模块提供显著性检验功能,P值用于衡量数据接近极端程度,与alpha值对比以决定统计显著性。
11 0