我在 python 中编写了一个 GUI 自动化脚本,它打开一个 Web 浏览器,在浏览器中进行一些测试,然后关闭浏览器。它在经过数十万次迭代的循环中执行此操作。
我遇到了程序挂起的问题,我无法打开浏览器实例,有时最多打开 20 个实例。我想创建一个错误检查以确保一次只打开一个浏览器实例(如果有许多实例打开,则完全终止浏览器并重新启动迭代和/或确保浏览器实例在通过之前打开循环的迭代)。
浏览器的 PID 显然会在循环的每次迭代中发生变化,据我所知,没有办法分配 PID。我想到的另一个解决方案是对终端进行系统调用,并以某种方式利用 tasklist 和 taskkill 命令,但仍然没有找到一种方法来做我想做的事。
任何建议将不胜感激!
更新:
我知道我可以按名称搜索 Windows 进程,但我如何将其放入布尔表达式中
if tasklist contains firefox.exe
taskkill firefox.exe
else
open firefox
第二次更新:
我有以下可以用 Ruby 编写的代码:
if system('tasklist | find "firefox.exe"') == true
a = 1
elsif system('tasklist | find "firefox.exe"') == false
a = 0
end
我将如何在 Python 中完成此任务?
我一直在寻找的答案:
b = (str(os.system('tasklist | find "firefox.exe"')))
if b == '1':
b = 'false'
elif b == '0':
b = 'true'
print b