我看到了用于从命令行清除IE缓存的'命令行'选项,但是无法弄清楚如何从python甚至是MS Dos提示符下以编程方式执行此操作。这是我从StackOverflow: clear cache of browser by command line中找到的内容:
删除所有历史记录-RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255
仅删除历史记录-RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1
仅删除Cookies-RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2
仅删除Internet临时文件-RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
仅删除表单数据-RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16
仅删除密码历史记录-RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32
所以我的问题是,如何将上述“命令”转换为可以使用子进程直接从python运行的东西,例如,它将清除IE缓存。
这对我有用。只需注释掉不需要/不需要的任何命令即可。
import subprocess
commands = (
"RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255", # Deletes ALL History
"RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1", # Deletes History Only
"RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2", # Deletes Cookies Only
"RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8", # Deletes Temporary Internet Files Only
"RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16", # Deletes Form Data Only
"RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32", # Deletes Password History Only
)
for command in commands:
with subprocess.Popen(command) as p:
p.wait()
print(f"{p.returncode} - {command}")