@@ -538,7 +538,8 @@ def Open_Browser(dependency, window_size_X=None, window_size_Y=None, capability=
538538
539539 try :
540540 CommonUtil .teardown = True
541- browser = browser .lower ().strip ()
541+ browser = browser .lower ().strip ()
542+ import selenium
542543 selenium_version = selenium .__version__
543544 if browser in ("ios" ,):
544545 # Finds the appium binary and starts the server.
@@ -576,9 +577,12 @@ def Open_Browser(dependency, window_size_X=None, window_size_Y=None, capability=
576577 elif browser in ("android" , "chrome" , "chromeheadless" ):
577578 from selenium .webdriver .chrome .options import Options
578579 chrome_path = ConfigModule .get_config_value ("Selenium_driver_paths" , "chrome_path" )
579- if not chrome_path :
580- chrome_path = ChromeDriverManager ().install ()
581- ConfigModule .add_config_value ("Selenium_driver_paths" , "chrome_path" , chrome_path )
580+ try :
581+ if not chrome_path :
582+ chrome_path = ChromeDriverManager ().install ()
583+ ConfigModule .add_config_value ("Selenium_driver_paths" , "chrome_path" , chrome_path )
584+ except :
585+ CommonUtil .ExecLog (sModuleInfo , "Unable to download chromedriver using ChromedriverManager" , 2 )
582586 options = Options ()
583587
584588 if remote_browser_version :
@@ -651,13 +655,19 @@ def chromeheadless():
651655 options = options ,
652656 )
653657 else :
654- if selenium_version .startswith ('4.' ):
655- service = Service (chrome_path )
658+ import selenium
659+ from distutils .version import StrictVersion
660+
661+ required_version = StrictVersion ('4.10.0' )
662+ installed_version = StrictVersion (selenium .__version__ )
663+
664+ if installed_version >= required_version :
665+ service = Service ()
656666 selenium_driver = webdriver .Chrome (
657667 service = service ,
658668 options = options ,
659669 )
660- elif selenium_version . startswith ( '3.' ) :
670+ else :
661671 d = DesiredCapabilities .CHROME
662672 d ["loggingPrefs" ] = {"browser" : "ALL" }
663673 d ['goog:loggingPrefs' ] = {'performance' : 'ALL' }
@@ -666,8 +676,7 @@ def chromeheadless():
666676 chrome_options = options ,
667677 desired_capabilities = d
668678 )
669- else :
670- print ("Please update selenium & rerun node_cli file again." )
679+
671680 selenium_driver .implicitly_wait (WebDriver_Wait )
672681 if not window_size_X and not window_size_Y :
673682 selenium_driver .set_window_size (default_x , default_y )
0 commit comments