@@ -21,27 +21,21 @@ def _import_options(self, browser):
2121from selenium import webdriver
2222from selenium .webdriver .common import driver_finder
2323import importlib
24+ import inspect
2425
2526
2627def get_driver_path (browser ):
2728 browser = browser .lower ().replace ("headless_" , "" , 1 )
2829 service = importlib .import_module (f"selenium.webdriver.{ browser } .service" )
2930 options = importlib .import_module (f"selenium.webdriver.{ browser } .options" )
30- # finder = driver_finder.DriverFinder()
3131
32- # Selenium v4.19.0 and prior
33- try :
32+ args = inspect .signature (driver_finder .DriverFinder .__init__ ).parameters .keys ()
33+ if ('service' in args ) and ('options' in args ):
34+ # Selenium V4.20.0 or greater
35+ finder = driver_finder .DriverFinder (service .Service (), options .Options ())
36+ return finder .get_driver_path ()
37+ else :
38+ # Selenium v4.19.0 and prior
3439 finder = driver_finder .DriverFinder ()
3540 func = getattr (finder , 'get_path' )
3641 return finder .get_path (service .Service (), options .Options ())
37- except (AttributeError , TypeError ):
38- pass
39-
40- # Selenium V4.20.0
41- try :
42- finder = driver_finder .DriverFinder (service .Service (), options .Options ())
43- return finder .get_driver_drivepath ()
44- except :
45- pass
46-
47- raise Exception ('Unable to determine driver path' )
0 commit comments