Playwright-python 教程
安装
pip install playwright -i https://mirrors.aliyun.com/pypi/simple/
使用阿里源,下载速度快一点。
python -m playwright install
安装chromium、frefox、webkit。
代码样例
打开百度页面:
同步API:
from playwright import sync_playwrightwith sync_playwright() as p:# 可以选择chromium、firefox和webkitbrowser_type = p.chromium# 运行chrome浏览器,executablePath指定本地chrome安装路径# browser = browser_type.launch(headless=False,slowMo=50,executablePath=r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")browser = browser_type.launch(headless=False)page = browser.newPage()page.goto('https://www.baidu.com/')page.screenshot(path=f'example-{browser_type.name}.png')browser.close()
异步API:
import asyncio
from playwright import async_playwrightasync def main():async with async_playwright() as p:browser_type = p.chromiumbrowser = await browser_type.launch(headless=False)page = await browser.newPage()await page.goto('https://www.baidu.com/')await page.screenshot(path=f'example-{browser_type.name}.png')await browser.close()
asyncio.get_event_loop().run_until_complete(main())
模拟手机模式:
from playwright import sync_playwrightwith sync_playwright() as p:iphone_11 = p.devices['iPhone 11 Pro']browser = p.webkit.launch(headless=False)context = browser.newContext(**iphone_11,locale='zh-CN')page = context.newPage()page.goto('https://www.baidu.com/')page.click('#logo')page.screenshot(path='colosseum-iphone.png')browser.close()
浏览器中运行JS
from playwright import sync_playwrightwith sync_playwright() as p:browser = p.firefox.launch(headless=False, slowMo=1000)page = browser.newPage()page.goto('https://www.baidu.com/')dimensions = page.evaluate('''() => {return {width: document.documentElement.clientWidth,height: document.documentElement.clientHeight,deviceScaleFactor: window.devicePixelRatio}}''')print(dimensions)browser.close()
录制生成代码
python -m playwright codegen
,添加--help
查看参数 python -m playwright codegen -h
# -o, --output <file name> 保存脚本到该文件
# --target <language> 指定生成语言 javascript, python, python-async, csharp;默认是python
# -h, --help 查看帮助命令
示例
python -m playwright -b webkit codegen https://www.baidu.com/ -o test.py --target python
-b
是指定浏览器,查看其他参数:python -m playwright -h
参考
- https://github.com/microsoft/playwright-python
- https://playwright.dev/docs/why-playwright
Playwright-python 教程相关推荐
- 给老婆写个Python教程
作者 | 水风 来源 | 水风知乎问答 如何挑战百万年薪的人工智能! https://edu.csdn.net/topic/ai30?utm_source=csdn_bw 什么是code code就是 ...
- 【python教程入门学习】Python实现自动玩贪吃蛇程序
这篇文章主要介绍了通过Python实现的简易的自动玩贪吃蛇游戏的小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学一学 实现效果 先看看效果 这比我手动的快多了,而且是单机的,自动玩没惹 ...
- OpenCV Python教程(2、图像元素的访问、通道分离与合并)
OpenCV Python教程之图像元素的访问.通道分离与合并 转载请详细注明原作者及出处,谢谢! 访问像素 像素的访问和访问numpy中ndarray的方法完全一样,灰度图为: [python] v ...
- 廖的python教程_廖雪峰的Python3.x教程.pdf
目录 Python教程 Python简介 安装Python Python解释器 第一个Python程序 使用文本编辑器 Python代码运行助手 输入和输出 源码 learning.py Python ...
- python教程app下载地址_python教程
python教程它是一个移动编程学习应用程序,可以为学习编程的用户提供高级学习工具,借助该软件,用户可以轻松获得各个阶段的培训资料,并且大量高质量的培训视频简化并简化了用户培训,有兴趣的朋友可以轻松下 ...
- python是什么系统_最齐全、最系统的python教程
python教程(后面有彩蛋) python教程目录 学python都用来干嘛的? 主要就是"简单啊"."收入高啊"."人生苦短,我用Python&q ...
- python操作excel-python操作excel(内附python教程分享)
今天学习了下xlwings这个库,目的是为了让计算机自动化操作excel表,当某天需要做一些很繁琐的事情,就可以派上用场啦. python操作excel(内附python教程分享) 基本对象 网上刮来 ...
- python 教程 网盘-python教程网盘
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 解释器不会一次把整个程序转译出来,只像一位"中间人",每次运行 ...
- python画代码-Python教程_Python画Mandelbrot集 代码
Python教程_Python画Mandelbrot集 代码 作者:Comet 来源: 课课家 www.kokojia.com点击数:278发布时间:2015-06-19 11:17:19 曼德勃罗集 ...
- 廖雪峰python教程书-Python 爬虫:把廖雪峰的教程转换成 PDF 电子书
写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...
最新文章
- WPF使用X:Static做多语言支持
- php连接mySql,加密函数
- WCF开发的几个频骤
- LeetCode Algorithm 590. N 叉树的后序遍历
- 用wamper打开php源码_php源码该怎么设置数据库
- 更改linux子系统软件源为国内镜像
- EF实体框架之CodeFirst五
- 为什么下拉框拉不下来_为什么分手后对方不删除拉黑你,但又不和你复合?
- 【Codeforces Round #585 (Div. 2) E】Marbles【状压DP】
- html5变动标签新写法,HTML5新增的标签和废除的标签
- stm8s + si4463 寄存器配置
- 时空序列预测之Memory In Memory: A Predictive Neural Network for Learning Higher-OrderNon-Stationarity
- 路由器刷机群辉NAS+KODI (一)----NAS安装
- 开源公告|腾讯代码安全指南开源,涉及C/C++、Go等六门编程语言
- 【usb】安卓usb网络共享(RNDIS)
- 图解 Redis !傻瓜都看懂了
- win10 EFI文件夹删除了,引导进不去了,该怎么办?
- 年度盘点丨2017十大最佳科技创新产品!
- MySQL 关键字模糊匹配按照匹配度排序
- QT出现中文乱码及解决方案