前言

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

文章转自:https://www.cnblogs.com/yoyoketang/p/17575107.html