看板 Python 關於我們 聯絡資訊
請問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