Python, Chrome任务管理器 - 编程方式访问Chrome任务管理器中的文本,不使用Chromium

2024-04-25 14:42:25 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我最接近的就是使用“chrome://系统/“在omnibox中,但是当你展开“mem峎u usage”时,它根本没有给你每个标签页有用的内存使用数字,而且没有子帧,但是使用这个方法,我计划使用标签标题来杀死标签,如果我真的可以得到它们的内存占用。在

我尝试使用win32gui的FindWindowEx方法来获取文本,但这要求您知道所显示文本的子元素,所以我下载了“Window Detective”以查看“Chrome任务管理器”显示的元素名称、PID和选项卡名称,但是“Window Detective”只返回了“EmbeddedMenuWindowClass”,它是整个窗口,与显示的文本无关。在

我花了很短的时间来使用Selenium,但它似乎无法在Chrome中抓取特殊菜单,而不仅仅是抓取网页中的标签名和元素。在

我也尝试过“pywinauto”,但那东西的文档非常非常糟糕。我尝试过使用“connect”方法、“hwndwapper”等,但是掌握要使用的参数、它们的传递方式、以及如何使用得到的输出(例如pid或句柄的列表)时会遇到严重的麻烦。如果文档中包含输出,我会很高兴的,这样我就可以真正看到我应该得到什么,这样我就不会在发现我测试过的所有东西都不能提供我想要的东西的情况下结束兔子洞。抱歉,如果这听起来有点牢骚,但我花了几个小时阅读PDF和官方文件,结果非常沮丧。在

我也尝试过通过命令行启动chrome,但是它可能是chrome的唯一功能,但是它无法找到所创建的日志记录文档,当我将其输出重定向到一个文件时,我没有得到任何有用的东西。在

但是,是的,有人知道如何以编程方式访问“Chrome任务管理器”的文本,或者其他能提供类似输出的东西吗?谢谢您。在


Tags: 方法内存答案文档文本元素管理器编程
0条回答
网友
1楼 · 发布于 2024-04-25 14:42:25

为什么要像这样使用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而不是tab的名称,我认为唯一的方法是通过创建一个扩展直接从chorme获取数据。在

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

相关问题 更多 >