作者piligo (霹雳狗)
看板Python
标题[问题] Selenium如何释放资源
时间Wed Jul 28 15:30:55 2021
请问Selenium(chrome)当采用headless无视窗模式,如何在非正常离开程序下
有效的回收资源,因很多User习惯跑完就直接关闭式窗,不会走正常的退出流程
当Selenium采用无视窗模式就会发生资源还咬在背景运作
目前有想到几个解法,不知有没有更好的方式
1.跑程序前先kill所有chrome.exe,但延伸问题是这样做会连User本身
在浏览的视窗都被强制关闭
2.Selenium改呼叫Firefox,这样就可以安心kill。但User端变成要另外装Firefox
3.python有办法纪录自己呼叫的所有程序的PID吗? 有个想法是假设有这个功能,至少
我先把这次所有PID先记录下来,等下次呼叫python再来kill 上一轮的 PID
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 106.104.34.155 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1627457457.A.D58.html
2F:→ piligo: 感谢资讯~来研究 另一个问题当User用滑鼠直接去关闭视窗 07/28 15:55
3F:→ piligo: 这种关闭动作也可以设定触发条件吗? 如果可以就不用预先 07/28 15:56
4F:→ piligo: 输出PID清单,等下一轮才能清除了 07/28 15:57
5F:→ piligo: 找到相关文章了 atexit: exit handler 来试试看 07/28 16:05
6F:→ piligo: atexit看来只能处理Ctrl+C还有sys.exit(0)这类的离开 07/28 16:18
7F:→ piligo: 疑~那有办法把DOS视窗的关闭图块给屏蔽掉吗? 只留最小化 07/28 16:19
8F:→ piligo: 跟最大化 07/28 16:19
9F:→ piligo: 找到关闭X按钮方式了 win32console 07/28 18:11
10F:→ piligo: 再来搭配atexit 就可以呼叫driver.quit() 连抓PID都省了 07/28 18:12