作者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://www.ptt.cc/bbs/Python/M.1627457457.A.D58.html
→ piligo: 感謝資訊~來研究 另一個問題當User用滑鼠直接去關閉視窗 07/28 15:55
→ piligo: 這種關閉動作也可以設定觸發條件嗎? 如果可以就不用預先 07/28 15:56
→ piligo: 輸出PID清單,等下一輪才能清除了 07/28 15:57
→ piligo: 找到相關文章了 atexit: exit handler 來試試看 07/28 16:05
→ piligo: atexit看來只能處理Ctrl+C還有sys.exit(0)這類的離開 07/28 16:18
→ piligo: 疑~那有辦法把DOS視窗的關閉圖塊給屏蔽掉嗎? 只留最小化 07/28 16:19
→ piligo: 跟最大化 07/28 16:19
→ piligo: 找到關閉X按鈕方式了 win32console 07/28 18:11
→ piligo: 再來搭配atexit 就可以呼叫driver.quit() 連抓PID都省了 07/28 18:12