首页 > 编程语言 >python爬虫利器之Playwright

python爬虫利器之Playwright

时间:2024-01-16 09:11:25浏览次数:30  
标签:Playwright 浏览器 python 爬虫 模式 API WebKit 安装

Playwright 是微软在 2020 年初开源的新一代自动化测试工具,它的功能类似于 Selenium、Pyppeteer 等,都可以驱动浏览器进行各种自动化操作。它的功能也非常强大,对市面上的主流浏览器都提供了支持,API 功能简洁又强大。虽然诞生比较晚,但是现在发展得非常火热。

1. Playwright 的特点

  • Playwright 支持当前所有主流浏览器,包括 Chrome 和 Edge(基于 Chromium)、Firefox、Safari(基于 WebKit) ,提供完善的自动化控制的 API。
  • Playwright 支持移动端页面测试,使用设备模拟技术可以使我们在移动 Web 浏览器中测试响应式 Web 应用程序。
  • Playwright 支持所有浏览器的 Headless 模式和非 Headless 模式的测试。
  • Playwright 的安装和配置非常简单,安装过程中会自动安装对应的浏览器和驱动,不需要额外配置 WebDriver 等。
  • Playwright 提供了自动等待相关的 API,当页面加载的时候会自动等待对应的节点加载,大大简化了 API 编写复杂度。

本节我们就来了解下 Playwright 的使用方法。

2. 安装

要使用 Playwright,需要 Python 3.7 版本及以上,请确保 Python 的版本符合要求。

要安装 Playwright,可以直接使用 pip3,命令如下:

pip3 install playwright

安装完成之后需要进行一些初始化操作:

playwright install

这时候 Playwrigth 会安装 Chromium, Firefox and WebKit 浏览器并配置一些驱动,我们不必关心中间配置的过程,Playwright 会为我们配置好。

具体的安装说明可以参考:https://setup.scrape.center/playwright。

安装完成之后,我们便可以使用 Playwright 启动 Chromium 或 Firefox 或 WebKit 浏览器来进行自动化操作了。

3. 基本使用

Playwright 支持两种编写模式,一种是类似 Pyppetter 一样的异步模式,另一种是像 Selenium 一样的同步模式,我们可以根据实际需要选择使用不同的模式。

 

标签:Playwright,浏览器,python,爬虫,模式,API,WebKit,安装
From: https://www.cnblogs.com/xingxia/p/17966802/python_playwright

相关文章

  • Python第四天学习笔记
    Python的用户交互input('请插入vip卡')input('输入密码')请插入vip卡23333输入密码6666'6666'print('*'*100)****************************************************************************************************print('*'......
  • 每日总结2024/1/15(爬虫学习)
    原文链接python爬虫-Python3.x+Fiddler抓取APP数据-学习分享-SegmentFault思否我爬取的为浏览器数据  可以看到在这里我们成功爬取到了浏览器数据,但是在实现python中爬取数据遇到了很多版本以及配置缺少的问题,同时我的版本中http为2,不知道有没有其他影响,代码目前......
  • python网站创建016:BootStrap
    什么是BootStrap?:是一个别人写好的javascript和css的代码,如果在开发项目的时候省点事,就可以在它的基础上来修改使用使用教程:https://www.runoob.com/bootstrap/bootstrap-tutorial.html下载:https://getbootstrap.net/   下载之后解压,解压之后可以随意打开一个文件,比如cs......
  • python中json.dumps() 与json.dump(),json.load()与json.loads()区别?
    json.dumps()将Python对象转换为JSON字符串,并返回该字符串。而json.dump()将Python对象转换为JSON字符串,并将该字符串写入文件。json.dumps()接受一个Python对象作为参数,而json.dump()接受两个参数:一个Python对象和一个写入数据的文件对象。json.dump()生......
  • Python 中read()、 readline() 、readlines()三者之间的区别?
    read()方法用于一次性读取整个文件的内容,并将其作为一个字符串返回。readline()方法用于逐行读取文件的内容。每次调用readline()方法,它会读取文件的下一行,并将其作为一个字符串返回。readlines()方法用于将文件的所有行读取到一个列表中。每一行都是列表中的一个元素,列表按照文......
  • 深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析
    PythonMongoDB排序对结果进行排序使用sort()方法对结果进行升序或降序排序。sort()方法接受一个参数用于“字段名”,一个参数用于“方向”(升序是默认方向)。示例按名称按字母顺序对结果进行排序:importpymongomyclient=pymongo.MongoClient("mongodb://localhost:270......
  • Python第三天学习笔记
    执行Python的两种形式第一种:交互式,在cmd中运行优点:直接给出结果缺点:无法保存jupyter对这一种进行了封装第二种:命令行式,通过cmd中输入Python3文本.txt文件可以,.py文件也可以,命令行式可以识别任何文本文件优点:可以保存缺点:无法及时得到报错反馈1.2.1三个步骤编写Py......
  • 数学建模入门笔记(1)——Python pulp库解线性规划问题
    参考:Python求解线性规划——PuLP使用教程-Only(AR)-博客园(cnblogs.com)1.Definethemodelmodel=pl.LpProblem(name="",sense=pl.LpMaximize)name模型的名字sense模型的类型(pl.LpMaximize/pl.LpMinimize)2.Definethedecisionvariables用x[i]存储变量,命名为xi......
  • python selenium元素定位
    1.ID元素定位基于元素属性中的id的值来进行定位,id是一个标签的唯一属性值可以通过id属性来唯一定位一个元素,是首选的元素定位方式,动态ID不做考虑。driver.find_element_by_id('id')driver.find_element(By.ID,'id')2.name元素定位基于元素属性中的name的值来进行定位,但name并不......
  • # yyds干货盘点 # 盘点一个Python发票识别报错问题的处理案例
    大家好,我是皮皮。一、前言前几天在Python免费交流群【PJW】问了一个Python发票识别报错的问题,下图是他的报错截图,但是他自己看不出来哪里有问题,百度方面其实一问应该也有答案的,可是他就是有些找不到,然后找群里的好心人求助。后来【果冻和布丁】有GPT,找他帮忙问了一圈。二、实现过程......