使用 Firefox 實例執行 Selenium 測試時,使用 geckodriver 可能會導致以不斷累積記憶的影響。即使您在測試運行後手動關閉瀏覽器窗口,也會發生這種情況。若要進一步調查並進行必要的調整,您可能需要保持 Firefox 瀏覽器開啟。
通常建議呼叫測試的tearDown() 方法中的driver.quit() 方法。此操作有效地關閉瀏覽會話並終止 WebDriver 實例。不過,在某些情況下,您可能更願意保持 Firefox 瀏覽器視窗開啟以進行進一步分析。
在這種情況下,與讓geckodriver 進程繼續消耗記憶體相比,您可以選擇以下解決方案:
您可以透過執行以下程式碼區塊以程式方式終止任何懸掛的WebDriver 實例,包括geckodriver:
Java 解決方案(Windows):
import java.io.IOException; public class Kill_ChromeDriver_GeckoDriver_IEDriverserver { public static void main(String[] args) throws Exception { Runtime.getRuntime().exec("taskkill /F /IM geckodriver.exe /T"); Runtime.getRuntime().exec("taskkill /F /IM chromedriver.exe /T"); Runtime.getRuntime().exec("taskkill /F /IM IEDriverServer.exe /T"); } }
import os os.system("taskkill /f /im geckodriver.exe /T") os.system("taskkill /f /im chromedriver.exe /T") os.system("taskkill /f /im IEDriverServer.exe /T")
import os import psutil PROCNAME = "geckodriver" # or chromedriver or IEDriverServer for proc in psutil.process_iter(): # check whether the process name matches if proc.name() == PROCNAME: proc.kill()
以上是如何解決 Selenium 的 Gekodriver 進程導致的高記憶體消耗問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!