返回顶部
首页 > 资讯 > 后端开发 > Python >Python中Playwright的常用操作方法分享
  • 926
分享到

Python中Playwright的常用操作方法分享

PythonPlaywright常用操作PythonPlaywright操作PythonPlaywright 2023-05-19 11:05:04 926人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1. Playwright获得所有的Cookies2. Playwright获得所有的链接3. Playwright获得包含特定字符串/文本的所有链接4. Playwright点

本文详细介绍了Playwright的常用操作方法,包括获取页面元素、点击按钮和链接、获取标签页、获取元素属性、设置超时、单击元素、模拟鼠标点击和拖放操作等。这些方法可以帮助开发者更加高效地进行自动化测试爬虫开发。

1. Playwright获得所有的Cookies

可以使用 BrowserContext.cookies() 方法来获取特定的Cookie。如果没有指定参数,将返回所有Cookie。

# Get all cookies
all_cookies = browser_context.cookies()

2. Playwright获得所有的链接

可以使用page.locator()方法并指定a表达式来获取页面所有的链接。

page_elements = page.locator('a')
print(f"{page_elements.count()} link/links are found.")

3. Playwright获得包含特定字符串/文本的所有链接

使用page.locator()方法并指定 a:has-text() 表达式来获取页面的所有链接。

page_elements = page.locator('a:has-text("田辛老师")')
print(f"{page_elements.count()} link/links are found.")

4. Playwright点击按钮

点击按钮的基本思路就是使用click()方法。

4.1 先定位元素

element = page.locator('input[name="Goto_tdouya_homepage"]')
element.click()

4.2 直接点击

element = page.click('input[name="goto_tdouya_homepage"]')

5. Playwright点击链接

和按钮一样, 主体思路还是使用click()方法。 注意, 和按钮不同的是,link元素的定位需要选择第一个元素。

5.1. 先定位元素

element = page.locator('a:has-text("goto_tdouya_homepage")').first
element.click()

5.2 直接点击

page.click('a:has-text("goto_tdouya_homepage") >> nth=0'

6.Playwright获得所有的标签页

现在的浏览器都是支持多个标签页的。 那么我们可以采用BrowserContext.pages属性来获取所有的打开页面。

## 获得所有被打开的pages/tabs 
opened_pages = context.pages
# 枚举所有的打开页面的url
for p in opened_pages:
    print(p.url)

7.Playwright获取元素的所有属性

可以使用locator.evaluate()方法执行javascript表达式, 获取元素的所有属性名。 并枚举他们,并使用get_attribute()方法获得每个属性的值。

# 定位元素
element = page.locator('img_tdouya').first
# 获得所有的属性
el_attrs = element.evaluate("el => el.getAttributeNames()")
# 枚举所有的属性名称和值
for attr in el_attrs:
    print(attr, ":", element.get_attribute(attr))

8.点击时设置超时

虽然Playwright的超时要比selenium友好的多。 但是,必要的时候也可以设置。 尤其是一些严苛环境下。

# timeout的单位是毫秒, 默认值是30秒,也就是30000
page.click("#tdouyaButton", timeout=60000)  

9.如果元素存在则单击元素

在本小结中, 我们探索的情形是元素有可能存在有可能不存在。 整体思路是综合利用上面提到过的page.locator()方法。检查元素数量。 如果大于0, 则进行后续点击操作。

# 获得元素
elements = page.locator('a:has-text("田辛老师")')  

# 获得元素数量
link_number = elements.count() 

# 元素数量大于0, 则进行点击操作
if link_number > 0:
    elements.first.click()

10.模拟鼠标点击

使用page.mouse.click()方法来点击页面中特定位置的元素。

page.mouse.click(1700, 1450)

11.拖放操作

使用page.mouse.move实现拖动, 使用page.mouse.up()、page.mouse.down()方法模拟鼠标左键长按和放开的操作。

page.mouse.move(150, 150)
page.mouse.down()
page.mouse.move(300, 300)
page.mouse.up()

到此这篇关于python中Playwright的常用操作方法分享的文章就介绍到这了,更多相关Python Playwright内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中Playwright的常用操作方法分享

本文链接: https://lsjlt.com/news/213158.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中Playwright的常用操作方法分享
    目录1. Playwright获得所有的Cookies2. Playwright获得所有的链接3. Playwright获得包含特定字符串/文本的所有链接4. Playwright点...
    99+
    2023-05-19
    Python Playwright常用操作 Python Playwright操作 Python Playwright
  • Python中常用的17个操作分享
    这篇文章主要讲解了“Python中常用的17个操作分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中常用的17个操作分享”吧!1. 交换变量有时候,当我们要交换两个变量的值时,...
    99+
    2023-06-02
  • 14个Python处理Excel的常用操作分享
    目录一、关联公式:Vlookup二、数据透视表三、对比两列差异四、去除重复值五、缺失值处理六、多条件筛选七、 模糊筛选数据八、分类汇总九、条件计算十、删除数据间的空格十一、数据分列十...
    99+
    2023-03-06
    Python处理Excel操作 Python处理Excel Python Excel
  • Django常用操作命令分享
    这篇文章主要讲解了“Django常用操作命令分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Django常用操作命令分享”吧!查看Django版本:点击(此处)折叠或打开[oracle@m...
    99+
    2023-06-04
  • 分享11个Python自动化操作Excel的方法
    目录一、openpyxl是什么二、openpyxl安装三、openpyxl操作指南1、创建工作簿2、写工作簿3、插入图片4、删除行和列5、将工作表转换为数据框6、2D区域图7、雷达图...
    99+
    2024-04-02
  • python中常用的九种预处理方法分享
    本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal and...
    99+
    2022-06-04
    常用 方法 python
  • python中字符串最常用的操作方法
    这篇文章给大家分享的是有关python中字符串最常用的操作方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先,我们先定义两个字符串,然后后面我们会对其进行一系列操作示范str1="sadf ...
    99+
    2023-06-08
  • POI的常用方法分享
    这篇文章主要讲解了“POI的常用方法分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“POI的常用方法分享”吧!public static void main(String[] args) ...
    99+
    2023-06-03
  • JavaScript中数组常见的操作技巧分享
    这篇文章主要讲解了“JavaScript中数组常见的操作技巧分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中数组常见的操作技巧分享”...
    99+
    2024-04-02
  • Go语言中常见的文件操作分享
    目录常用包os与I/O操作相关包常用文件/目录操作路径拼接创建文件(touch)获取文件信息读取文件内容写入文件内容常用包 文件操作应该是应用程序里非常常见的一种操作,无论是哪种应用...
    99+
    2023-01-30
    Go语言常见文件操作 Go语言文件操作 Go 文件操作
  • python中字符串的常见操作方法
    1. 字符串概念,字符串是一个容器,包含若干个字符并按照一定的顺序组织成一个整体。字符串支持索引操作。 2. 创建字符串基本语法 变量名 = "字符串信息" 变量名 = '字符串信息' 变量名 = """字符串信息""" 变量名 = ''...
    99+
    2023-01-30
    字符串 操作方法 常见
  • 分享win7关防火墙的操作方法
    win7系统就有自带的并功能强大的Windows防火墙,其外观简洁、功能丰富、使用简便,轻松为系统和网络应用安全保驾护航,但是有时为了正常使用一些网络功能就得关闭防火墙,win7关防火墙的操作在下面,有需要的小伙伴们可以看看。win7关防火...
    99+
    2023-07-18
  • python字典的常用操作方法小结
    Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串、数字、元组等其他容器模型。本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建、访问、删除、其它操作等,需要的朋...
    99+
    2022-06-04
    小结 字典 操作方法
  • python列表的常用操作方法小结
    本文实例为大家了Python中列表(List)的详解操作方法,供大家参考,具体内容如下 1.创建列表。只要把逗号分隔的不同的数据项使用方括号括起来即可 List = ['wade','james','bos...
    99+
    2022-06-04
    小结 操作方法 常用
  • JavaScript中常用的数组操作方法
    目录一、concat()二、join()三、push()五、shift()六、unshift()七、slice()八、splice()九、substring() ...
    99+
    2024-04-02
  • Linux中的常见操作方法
    这篇文章将为大家详细讲解有关Linux中的常见操作方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. Linux的用户管理Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必...
    99+
    2023-06-20
  • Pandas中DataFrame的常用用法分享
    目录1.创建DataFrame2.选择数据3.修改数据4.数据排序5.数据统计6.数据合并7.数据分组8.数据透视表Pandas是Python中最流行的数据分析和处理工具之一,它提供...
    99+
    2023-05-16
    Pandas DataFrame常用用法 Pandas DataFrame用法 Pandas DataFrame
  • PHP中常用的魔术方法(总结分享)
    本篇文章给大家带来了关于PHP的相关知识,PHP把所有”__”开头的方法当做魔术方法,下面主要为大家介绍了PHP中常用的几个魔术方法,文中示例代码讲解详细,需要的可以参考一下。(推荐教程:PHP视频教程)构造方法 / __construct...
    99+
    2024-04-02
  • python字符串的常用操作方法小结
    本文实例为大家分享了python字符串的操作方法,供大家参考,具体内容如下 1.去除空格 str.strip():删除字符串两边的指定字符,括号的写入指定字符,默认为空格 >>> a...
    99+
    2022-06-04
    小结 字符串 操作方法
  • 利用Python绘画双摆操作分享
    目录1.双摆问题2.运动过程3.公式推导过程1.双摆问题 所谓双摆,就是两个连在一起的摆。 接下来本来是要推公式的,考虑考虑到大家可能会有公式恐惧症,同时又喜欢看图,所以把公式挪...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作