javascript - 有没有办法通过 Python 加载网页的网络事件(您可以在 Chrome 开发工具上看到)?

标签 javascript python python-3.x google-chrome http

我想监听网络事件(基本上是当您转到 Chrome 开发者工具/检查上的“网络”选项卡时可以看到的所有事件)并在通过 Python 加载页面时记录特定事件。

这可能吗?谢谢!

具体:

  • 前往webpage.com
  • 打开 Chrome 开发工具并转到网络标签
  • 添加 api.webpage.com 作为过滤器
  • 刷新页面[滚动]

我希望能够捕获这些事件的名称,因为有些特定 ID 无法通过 UI 获得。

最佳答案

2021 年更新 我必须对扎克的答案进行一些更改才能使其发挥作用。带有###的评论是我的评论

def get_perf_log_on_load(url, headless=True, filter=None):

    # init Chrome driver (Selenium)
    options = Options()
    options.add_experimental_option('w3c', False) ### added this line
    options.headless = headless
    cap = DesiredCapabilities.CHROME
    cap["loggingPrefs"] = {"performance": "ALL"}
    ### installed chromedriver.exe and identify path
    driver = webdriver.Chrome(r"C:\Users\asiddiqui\Downloads\chromedriver_win32\chromedriver.exe", desired_capabilities=cap, options=options) ### installed
    # record and parse performance log
    driver.get(url)
    if filter:
        log = [item for item in driver.get_log("performance") if filter in str(item)]
    else:
        log = driver.get_log("performance")
    driver.close()

    return log

关于javascript - 有没有办法通过 Python 加载网页的网络事件(您可以在 Chrome 开发工具上看到)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54481532/

相关文章:

javascript - 带有 Node 、ES7、puppeteer 的页面对象模式

javascript - 将项目翻译到我的 editorconfig

python - XGBoost 中的绘图编号格式plot_importance()

python - 计算 python 程序的 CPU 时间?

python - PyQt:重新创建小部件

python - 无法调用canvas.show()

从本地文件加载时,Javascript 图像加载不会触发

javascript - Node 无法在 Express/React 应用程序中查找 View "error"

python - 高效的最近邻搜索特定任务?

python-3.x - 使用命令 "ls -t | tail -n +4 | xargs rm --"删除另一个位置的文件