Skip to content

Commit acf2665

Browse files
committed
Fix issues with Remote WebDriver and Selenium Grid
1 parent abc558c commit acf2665

File tree

1 file changed

+24
-12
lines changed

1 file changed

+24
-12
lines changed

seleniumbase/core/browser_launcher.py

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,8 @@ def get_remote_driver(
451451
capabilities[key] = desired_caps[key]
452452
return webdriver.Remote(
453453
command_executor=address,
454-
desired_capabilities=capabilities)
454+
desired_capabilities=capabilities,
455+
keep_alive=True)
455456
elif browser_name == constants.Browser.FIREFOX:
456457
try:
457458
# Use Geckodriver for Firefox if it's on the PATH
@@ -469,7 +470,8 @@ def get_remote_driver(
469470
return webdriver.Remote(
470471
command_executor=address,
471472
desired_capabilities=capabilities,
472-
browser_profile=profile)
473+
browser_profile=profile,
474+
keep_alive=True)
473475
except WebDriverException:
474476
# Don't use Geckodriver: Only works for old versions of Firefox
475477
profile = _create_firefox_profile(
@@ -485,35 +487,40 @@ def get_remote_driver(
485487
return webdriver.Remote(
486488
command_executor=address,
487489
desired_capabilities=capabilities,
488-
browser_profile=profile)
490+
browser_profile=profile,
491+
keep_alive=True)
489492
elif browser_name == constants.Browser.INTERNET_EXPLORER:
490493
capabilities = webdriver.DesiredCapabilities.INTERNETEXPLORER
491494
for key in desired_caps.keys():
492495
capabilities[key] = desired_caps[key]
493496
return webdriver.Remote(
494497
command_executor=address,
495-
desired_capabilities=capabilities)
498+
desired_capabilities=capabilities,
499+
keep_alive=True)
496500
elif browser_name == constants.Browser.EDGE:
497501
capabilities = webdriver.DesiredCapabilities.EDGE
498502
for key in desired_caps.keys():
499503
capabilities[key] = desired_caps[key]
500504
return webdriver.Remote(
501505
command_executor=address,
502-
desired_capabilities=capabilities)
506+
desired_capabilities=capabilities,
507+
keep_alive=True)
503508
elif browser_name == constants.Browser.SAFARI:
504509
capabilities = webdriver.DesiredCapabilities.SAFARI
505510
for key in desired_caps.keys():
506511
capabilities[key] = desired_caps[key]
507512
return webdriver.Remote(
508513
command_executor=address,
509-
desired_capabilities=capabilities)
514+
desired_capabilities=capabilities,
515+
keep_alive=True)
510516
elif browser_name == constants.Browser.OPERA:
511517
capabilities = webdriver.DesiredCapabilities.OPERA
512518
for key in desired_caps.keys():
513519
capabilities[key] = desired_caps[key]
514520
return webdriver.Remote(
515521
command_executor=address,
516-
desired_capabilities=capabilities)
522+
desired_capabilities=capabilities,
523+
keep_alive=True)
517524
elif browser_name == constants.Browser.PHANTOM_JS:
518525
capabilities = webdriver.DesiredCapabilities.PHANTOMJS
519526
for key in desired_caps.keys():
@@ -523,32 +530,37 @@ def get_remote_driver(
523530
warnings.simplefilter("ignore", category=UserWarning)
524531
return webdriver.Remote(
525532
command_executor=address,
526-
desired_capabilities=capabilities)
533+
desired_capabilities=capabilities,
534+
keep_alive=True)
527535
elif browser_name == constants.Browser.ANDROID:
528536
capabilities = webdriver.DesiredCapabilities.ANDROID
529537
for key in desired_caps.keys():
530538
capabilities[key] = desired_caps[key]
531539
return webdriver.Remote(
532540
command_executor=address,
533-
desired_capabilities=capabilities)
541+
desired_capabilities=capabilities,
542+
keep_alive=True)
534543
elif browser_name == constants.Browser.IPHONE:
535544
capabilities = webdriver.DesiredCapabilities.IPHONE
536545
for key in desired_caps.keys():
537546
capabilities[key] = desired_caps[key]
538547
return webdriver.Remote(
539548
command_executor=address,
540-
desired_capabilities=capabilities)
549+
desired_capabilities=capabilities,
550+
keep_alive=True)
541551
elif browser_name == constants.Browser.IPAD:
542552
capabilities = webdriver.DesiredCapabilities.IPAD
543553
for key in desired_caps.keys():
544554
capabilities[key] = desired_caps[key]
545555
return webdriver.Remote(
546556
command_executor=address,
547-
desired_capabilities=capabilities)
557+
desired_capabilities=capabilities,
558+
keep_alive=True)
548559
elif browser_name == constants.Browser.REMOTE:
549560
return webdriver.Remote(
550561
command_executor=address,
551-
desired_capabilities=desired_caps)
562+
desired_capabilities=desired_caps,
563+
keep_alive=True)
552564

553565

554566
def get_local_driver(

0 commit comments

Comments
 (0)