栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【爬虫自动生成代码】Playwright系列文章二

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【爬虫自动生成代码】Playwright系列文章二

Playw系列文章

文章目录
  • 系列文章目录
  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
  • 总结


前言

Playwright是类似于selenium、Pyppeteer等的一种自动化测试工具,于2020年初微软进行开源,虽然诞生较晚,但发展得非常火热。


一、Playwright录制功能

Playwright有个强大的功能,使用命令录制我们的在浏览器的操作并自动生成代码,使用这个功能可以生成多种语言的代码,减少我们代码编写量。这个功能通过playwright命令行调用codegen来实现。

安装命令:pip install playwright

二、使用步骤 1.查看命令参数(--help)

playwright codegen --help

结果如下:

 -o,表示输出保存的代码文件名称;

-target,代表生成的代码语言,默认为python,传入python-asyn则表示生成异步模式的代码;

-b,代表浏览器的名称,可以使用多种浏览器,默认为chromium浏览器;

-device,代表模拟手机浏览器;

-lang,表示设置浏览器语言;

-timeout,表示设置页面超时时间;

-load-storage,代表读取的状态文件路径,文件包含cookie信息等。context.storage_state()方法生成该文件。

2.命令启动浏览器

playwright codegen -o script.py -b chromium --load-storage login.json

该命令启动chromium浏览器,读取本地上的浏览器状态文件login.json,同时右侧弹窗一个脚本窗口,实时地显示当前操作的对应playwright代码。

启动的浏览器结果:

这里我们输入对应的网站,在网站进行点击,输入下结果:

生成的代码如下(示例):

from playwright.sync_api import Playwright, sync_playwright #导入playwright模块


def run(playwright: Playwright) -> None: 
    browser = playwright.chromium.launch(headless=False)  #启动浏览器
    context = browser.new_context(storage_state="lg.json") #storage_state读取状态文件

    # Open new page
    page = context.new_page()         #新建浏览器页面

    # Go to https://mp.csdn.net/
    page.goto("https://mp.csdn.net/") #访问网站链接

    page.click("img")                  #点击网页对应按钮
    # assert page.url == "https://www.csdn.net/?spm=1011.2124.3001.4476"

    # Close page
    page.close()                       #关闭页面

    # ---------------------
    context.close()                  #关闭上下文管理器
    browser.close()                  


with sync_playwright() as playwright:
    run(playwright)

这里生成的代码可以直接使用python运行,运行后可以看到它复现了我们在浏览器中的操作。

使用这个录制功能我们甚至不需要写代码也可以进行爬虫或测试脚本开发。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了playwright的录制功能的使用,使用录制功能自动生成代码,大大提升了我们的开发效率,而playwright提供了大量方法能使我们快速便捷地处理进行网站请求和数据抓取等。

playwright更多使用详细讲解教程:【网络爬虫&自动化测试】Playwriht系列一_フィロソフィー的博客-CSDN博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/949731.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号