Question :
Comment puis-je empêcher le processus GeckoDriver de consommer trop mémoire lors de l'exécution de tests Selenium sans utiliser driver.quit()?
Réponse :
Meilleure pratique :
Il n'est pas conseillé d'éviter d'appeler le chauffeur. quit() après chaque test pour l'optimisation de la mémoire. Les meilleures pratiques de Selenium recommandent d'invoquer quit() dans la méthode de démontage pour mettre fin complètement à la session de navigation et tuer l'instance WebDriver.
Solution pour les instances WebDriver en suspens :
Cependant, si vous devez supprimer les instances WebDriver en suspens (par exemple, les processus GeckoDriver.exe), vous pouvez utiliser ce qui suit méthodes :
Java (Windows):
import java.io.IOException; public class Kill_GeckoDriver { public static void main(String[] args) throws Exception { Runtime.getRuntime().exec("taskkill /F /IM geckodriver.exe /T"); } }
Python (Windows):
import os os.system("taskkill /f /im geckodriver.exe /T")
Python (Cross Platform) :
import os import psutil PROCNAME = "geckodriver" for proc in psutil.process_iter(): if proc.name() == PROCNAME: proc.kill()
En utilisant ces méthodes, vous peut mettre fin aux processus GeckoDriver indésirables sans affecter vos tests ni fermer la fenêtre du navigateur. N'oubliez pas que suivre les meilleures pratiques en matière de gestion de la mémoire, y compris l'appel de quit(), est crucial pour une exécution optimale des tests Selenium.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!