首先,我想说这是一个个人脚本,我是唯一一个要运行它的人。
我正在编写一个生产力程序,阻止应用程序在特定时间运行,chrome就是其中之一。然而,我每天都要进行大量的网络抓取,所以我需要在代码运行时将chromedriver从关闭状态"列入白名单"。
这就是我使用它的方式:
import subprocess
imgNames = ["Chrome.exe"] # There are several processes on this list, not only chrome.
for img in imgNames:
subprocess.call(['taskkill', '/F', '/IM', img], shell=True)
由于chromedriver具有相同的.exe名称,我想也许有一种方法可以更改进程名称,或者可能有其他方法可以识别它,这样它就可以在块会话期间保持打开状态。
您可以采用一种策略,从total_processes
的整个列表中排除whilelist_process
列表,如下所示:
whilelist_process = "chromedriver.exe"
total_processes = ["Chrome.exe", ...] # There are several processes on this list, not only chrome.
kill_processes = [x for x in total_processes if x != whilelist_process]
for proc in kill_processes:
subprocess.call(['taskkill', '/F', '/IM', proc], shell=True)
对于未来面临同样问题的任何人来说:这可能不是你所期望的答案,但我最终使用了Firefox的geckodriver而不是chromedriver,现在我可以杀死chromedrive,并且在其他浏览器被阻止时仍然打开硒浏览器。