Skip to content

Commit 9b98ef6

Browse files
authored
Merge pull request #234 from seleniumbase/proxy-auth-in-chrome-headless-mode
Fix issue with proxy server auth in chrome headless mode
2 parents bd0824b + 77dde1e commit 9b98ef6

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

seleniumbase/core/browser_launcher.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,13 @@ def get_local_driver(
395395
downloads_path, proxy_string, proxy_auth,
396396
proxy_user, proxy_pass)
397397
if headless:
398-
chrome_options.add_argument("--headless")
398+
# Headless Chrome doesn't support extensions, which are
399+
# required when using a proxy server that has authentication.
400+
# Instead, base_case.py will use PyVirtualDisplay when not
401+
# using Chrome's built-in headless mode. See link for details:
402+
# https://bugs.chromium.org/p/chromium/issues/detail?id=706008
403+
if not proxy_auth:
404+
chrome_options.add_argument("--headless")
399405
chrome_options.add_argument("--disable-gpu")
400406
chrome_options.add_argument("--no-sandbox")
401407
if LOCAL_CHROMEDRIVER and os.path.exists(LOCAL_CHROMEDRIVER):

seleniumbase/fixtures/base_case.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2234,7 +2234,7 @@ def get_new_driver(self, browser=None, headless=None,
22342234
if self.headless:
22352235
# Make sure the invisible browser window is big enough
22362236
try:
2237-
self.set_window_size(1920, 1200)
2237+
self.set_window_size(1440, 1080)
22382238
self.wait_for_ready_state_complete()
22392239
except Exception:
22402240
# This shouldn't fail, but in case it does,
@@ -2247,7 +2247,7 @@ def get_new_driver(self, browser=None, headless=None,
22472247
if settings.START_CHROME_IN_FULL_SCREEN_MODE:
22482248
self.driver.maximize_window()
22492249
else:
2250-
self.driver.set_window_size(1250, 800)
2250+
self.driver.set_window_size(1250, 840)
22512251
self.wait_for_ready_state_complete()
22522252
except Exception:
22532253
pass # Keep existing browser resolution
@@ -2654,7 +2654,7 @@ def setUp(self):
26542654
if self.headless:
26552655
try:
26562656
from pyvirtualdisplay import Display
2657-
self.display = Display(visible=0, size=(1920, 1200))
2657+
self.display = Display(visible=0, size=(1440, 1080))
26582658
self.display.start()
26592659
self.headless_active = True
26602660
except Exception:

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
setup(
1919
name='seleniumbase',
20-
version='1.16.16',
20+
version='1.16.17',
2121
description='All-In-One Test Automation Framework',
2222
long_description=long_description,
2323
long_description_content_type='text/markdown',

0 commit comments

Comments
 (0)