首页 > 编程语言 >python+playwright 学习-68 事件监听console 内容

python+playwright 学习-68 事件监听console 内容

时间:2023-07-23 15:55:04浏览次数:38  
标签:playwright console python sync 监听 msg page

前言

playwright 可以通过page.on() 监听console 内容

console 事件

当我们打开百度页面,f12 打开控制台,会看到console 输出的内容

playwright 可以通过page.on() 监听console ,获取到console的内容

page.on() 监听

示例代码

from playwright.sync_api import sync_playwright
"""
# 作者:上海-悠悠  
# wx: 283340479
# blog: https://www.cnblogs.com/yoyoketang/
"""


def console_msg(msg):
    """ 抓取 console 日志"""
    values = []
    for arg in msg.args:
        print(msg)
        values.append(f'{arg.json_value()}')

    # 写入log 文件
    with open('console.log', 'a', encoding='utf-8') as fp:
        fp.write('    '.join(values) + '\n')


with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, slow_mo=100)
    context = browser.new_context()  # 创建上下文,浏览器实例

    page = context.new_page()  # 打开标签页
    page.on("console", console_msg)

    page.goto("https://www.baidu.com/")
    page.wait_for_load_state("networkidle")

    print("执行完成")

运行后生成console.log文件

这是一个最好的时代,
科技的发展给予了每个人创造价值的可能性;
这也是一个最充满想象的时代,
每一位心怀梦想的人,终会奔向星辰大海。
百度与你们一起仰望星辰大海,携手共筑未来!

%c百度2023校园招聘简历投递:https://talent.baidu.com/jobs/list    color:red


2023最新《Playwright+Python自动化测试》点我 ->立即参与
联系微信:283340479

标签:playwright,console,python,sync,监听,msg,page
From: https://www.cnblogs.com/yoyoketang/p/17575107.html

相关文章

  • Python使用Flask开发Web服务 - 裴 - flask使用request对象获取请求数据
     第一种,URL路径参数,之前已经介绍过第二种,查询参数  第三种,Form表单参数    第四中,JSON数据   第五种,requests.cookies获取cookie信息   第六种,requests.headers获取header信息  ......
  • Python教程(5)——Python的第一个程序
    python的环境以及IDE都准备好之后,我们就可以开始Python之旅了。Python的第一个程序通常是打印输出"Hello,World!",非常简单。以下是一个示例:print("Hello,World!")运行python代码首先必须明白python是一门动态语言,也就没有所谓的编译过程,也就是直接运行。那么要如何运行pytho......
  • python数据加密与解密方法
    #-*-encoding:utf-8-*-"""@File:加密与解密.py@Time:2023-07-2310:02@Author:simon@Email:[email protected]@Software:PyCharm"""fromhashlibimportmd5importbase64#MD5加密obj=md5()str="你是个小可爱......
  • c语言当中的COORD ,GetStdHandle(),SetConsoleCursorPosition(),以及避免清屏和反复刷新
    这是WindowsAPI定义的结构体类型COORD来表示字符在控制台屏幕上的坐标,结构体类型COORD定义为:typedefstruct_COORD{SHORTx;SHORTy;}COORD;使用WindowsAPI GetStdHandle()从一个特定的标准设备获取表示设备的句柄(用来标识不同设备的一个数值),SetConsoleCursor......
  • Python代码玩遍童年的小游戏
    ​贪吃蛇,吃豆人,迷宫,井字游戏......这些小单击游戏我相信大家小的时候肯定玩过,或许在某个时段还沉迷过.随着年龄的增长,这些小游戏离我们越来越远,但是我相信大家的童心还是一直在的今天就分享一个真正可以玩耍的GitHub项目---free-python-games安装与使用python大家都......
  • Python使用Flask开发Web服务 - 裴 - flask的路由route的知识点演示
     默认是支持GET:  修改后,只支持post: 也可以getpost都支持 ......
  • python: socket
     """网络发送信息"""importsocketimportthreadingdefhandlesend(tcpclient):"""发送:return:"""whileTrue:message=input()tcpclient.send(message.encode()......
  • python+playwright 学习-67 抓取 table 表格数据
    前言最近有小伙伴提到如何抓取table表格上的数据,table表格的数据很简单,就是行和列。可以按行抓取,也可以按列抓取。获取table某一列的数据抓取第3列(项目名称)所有数据定位方式$x('//table/tbody/tr/td[3]')于是可以看到当前页面的第3列数据被全部定位到接下来就可以......
  • python 输入n行字符串
    如何实现Python输入n行字符串流程概述下面是实现Python输入n行字符串的一般流程:步骤描述1获取用户输入的行数n2创建一个空列表lines来存储字符串3使用循环n次,每次获取用户输入的字符串,并将其添加到lines列表中4最终得到的lines列表包含了用户输入的n行字......
  • python 循环往两个占位符
    Python循环往两个占位符循环是编程中常用的一种控制结构,它允许我们重复执行一段代码,达到简化代码和提高效率的目的。Python是一种高级编程语言,提供了多种循环结构,其中包括通过占位符循环的方法。在本文中,我们将介绍如何使用Python中的循环来填充两个占位符。什么是占位符?在......