因此,由于许多人遇到过Chrome的内存使用情况令人沮丧,因此我想编程访问“ Chrome的任务管理器”或类似的东西,其中显示标签,PID和SUBFRAMES(如果可能),我可以创建一个脚本来杀死它们。经过大量阅读后,有很多答案表明这可能是不可能的,而有些张贴者却没有回答这个问题,我只是不确定这个问题的答案是否已经确定。 / p>
我最近得到的是在多功能框中使用“ chrome:// system /” ,但是当您展开“ mem_usage”时,它不会在以下位置为每个选项卡提供有用的内存使用数量所有的子帧都没有子帧,但是如果我本来可以得到它们的内存占用的话,我计划使用这种方法使用选项卡标题杀死这些选项卡。
我尝试使用 win32gui的FindWindowEx 方法获取文本,但这需要您知道所显示文本的子元素,因此我将“ Window Detective” 下载到看到“ Chrome任务管理器”显示的元素名称,PID和选项卡名称,但“ Window Detective”仅返回“ EmbeddedMenuWindowClass” ,即整个Window ,与显示的文字无关。
我为使用 Selenium 做出了短暂的努力,但似乎无法仅通过抓取页面中的标签名称和元素来抓取Chrome内部的特殊菜单。
我也尝试了“ pywinauto” ,但是那东西的文档确实非常糟糕。我尝试使用“连接”方法,“ hwndwrapper”等方法,但是掌握了要使用的参数,如何传递参数以及期望如何以及随后如何使用获得的输出(例如PID列表)或“手柄”)。如果文档中包含输出,我将非常喜欢,因此我实际上可以看到应该得到的东西,所以我不会只希望发现我测试过的所有内容都无法提供我所想要的东西寻找。抱歉,这听起来很古怪,但是我花了数小时阅读PDF和官方文档,并感到非常沮丧。
我还尝试按照此文档记录http://www.chromium.org/for-testers/enable-logging,通过命令行通过命令行启动chrome ,但这可能只是Chromium的事情,但找不到已创建的日志记录文件,当我将其输出重定向到文件时,没有任何用处。
但是,是的,有谁知道如何以编程方式访问“ Chrome任务管理器”的文本,或者其他可以提供类似输出的内容?谢谢。
答案 0 :(得分:0)
为什么只使用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获取数据