Python、Chrome 任务管理器 - 以编程方式访问 Chrome 任务管理器的文本而不使用 CHROMIUM

2024-01-06

因此,由于许多人都遇到过 Chrome 的内存使用量可能会让人衰弱的情况,所以我想以编程方式访问“Chrome 的任务管理器”或类似的东西,显示选项卡、它们的 PID 和子帧(如果可能),这样我就可以创建一个脚本来杀死它们。经过大量阅读,很多答案表明这可能是不可能的,而且有些帖子没有回答问题,我只是不确定这个问题的答案是否已经真正明确给出。

我得到的最接近的是使用“铬://系统/”在多功能框中,但是当您展开“mem_usage”时,它根本不会为您提供每个选项卡有用的内存使用数字,并且缺少子帧,但通过这种方法,我计划使用选项卡标题来杀死选项卡(如果可以的话)实际上已经得到了他们的内存足迹。

我尝试使用win32gui 的 FindWindowEx方法来获取文本,但这需要您知道所显示文本的子元素,所以我下载了《窗外侦探》查看“Chrome 任务管理器”显示的元素名称、PID 和选项卡名称,但“Window Detective”仅返回“嵌入式菜单窗口类”这是整个窗口,与显示的文本无关。

我短暂地尝试使用Selenium,但似乎它无法抓取 Chrome 中的特殊菜单,而不仅仅是抓取网页中的选项卡名称和元素。

I also 尝试过“pywinauto”但那个东西的文档真的非常非常糟糕。我尝试过使用“connect”方法、“hwndwrapper”等,但掌握了要使用哪些参数、如何传递它们、期望什么以及如何使用获得的输出(例如 PID 列表)或手柄)被严重搞砸了。如果文档包含输出,我会很高兴,这样我实际上可以看到我应该得到什么,这样我就不会最终发现我测试过的所有东西都没有提供我想要的东西寻找。如果这听起来有些发牢骚,我很抱歉,但我花了几个小时阅读 PDF 和官方文档,并感到非常沮丧。

我也尝试过通过命令行启动 chrome按照本文档进行日志记录(http://www.chromium.org/for-testers/enable-logging http://www.chromium.org/for-testers/enable-logging),但这可能是 Chromium 独有的东西,但找不到创建的日志文档,当我将其输出重定向到文件时,我没有得到任何有用的东西。

但是,是的,有谁知道如何以编程方式访问“Chrome 任务管理器”文本,或者其他可以提供类似输出的内容?谢谢。


为什么只使用 python os 模块,如下所示:

import subprocess as sub
p = sub.Popen(['your command', 'arg1', 'arg2', ...],stdout=sub.PIPE,stderr=sub.PIPE)
output, errors = p.communicate()
print output

您可以使用命令 ps 列出 chrome 中运行的所有进程,但是这只会给您 pid 而不是选项卡名称,我认为唯一的方法是通过创建扩展直接从 chorme 获取数据。

https://developer.chrome.com/extensions/tabs https://developer.chrome.com/extensions/tabs

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python、Chrome 任务管理器 - 以编程方式访问 Chrome 任务管理器的文本而不使用 CHROMIUM 的相关文章

随机推荐