Skip to content

Commit cef4ce5

Browse files
authored
Merge pull request #351 from AutomationSolutionz/selenium-4.10
Integration with Selenium 4.10.0
2 parents e62c35f + 89fd8ca commit cef4ce5

1 file changed

Lines changed: 18 additions & 9 deletions

File tree

Framework/Built_In_Automation/Web/Selenium/BuiltInFunctions.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)