@@ -203,6 +203,8 @@ def extend_driver(driver):
203203 driver .is_exact_text_visible = DM .is_exact_text_visible
204204 driver .is_attribute_present = DM .is_attribute_present
205205 driver .is_non_empty_text_visible = DM .is_non_empty_text_visible
206+ driver .is_valid_url = DM .is_valid_url
207+ driver .is_alert_present = DM .is_alert_present
206208 driver .is_online = DM .is_online
207209 driver .js_click = DM .js_click
208210 driver .get_text = DM .get_text
@@ -1553,6 +1555,7 @@ def _set_chrome_options(
15531555 log_cdp_events ,
15541556 no_sandbox ,
15551557 disable_gpu ,
1558+ headless1 ,
15561559 headless2 ,
15571560 incognito ,
15581561 guest_mode ,
@@ -1771,7 +1774,10 @@ def _set_chrome_options(
17711774 pass # Processed After Version Check
17721775 elif headless :
17731776 if not undetectable :
1774- chrome_options .add_argument ("--headless" )
1777+ if headless1 :
1778+ chrome_options .add_argument ("--headless=old" )
1779+ else :
1780+ chrome_options .add_argument ("--headless" )
17751781 if undetectable and servername and servername != "localhost" :
17761782 # The Grid Node will need Chrome 109 or newer
17771783 chrome_options .add_argument ("--headless=new" )
@@ -2193,6 +2199,7 @@ def get_driver(
21932199 log_cdp_events = False ,
21942200 no_sandbox = False ,
21952201 disable_gpu = False ,
2202+ headless1 = False ,
21962203 headless2 = False ,
21972204 incognito = False ,
21982205 guest_mode = False ,
@@ -2406,6 +2413,7 @@ def get_driver(
24062413 log_cdp_events ,
24072414 no_sandbox ,
24082415 disable_gpu ,
2416+ headless1 ,
24092417 headless2 ,
24102418 incognito ,
24112419 guest_mode ,
@@ -2462,6 +2470,7 @@ def get_driver(
24622470 log_cdp_events ,
24632471 no_sandbox ,
24642472 disable_gpu ,
2473+ headless1 ,
24652474 headless2 ,
24662475 incognito ,
24672476 guest_mode ,
@@ -2522,6 +2531,7 @@ def get_remote_driver(
25222531 log_cdp_events ,
25232532 no_sandbox ,
25242533 disable_gpu ,
2534+ headless1 ,
25252535 headless2 ,
25262536 incognito ,
25272537 guest_mode ,
@@ -2657,6 +2667,7 @@ def get_remote_driver(
26572667 log_cdp_events ,
26582668 no_sandbox ,
26592669 disable_gpu ,
2670+ headless1 ,
26602671 headless2 ,
26612672 incognito ,
26622673 guest_mode ,
@@ -2829,6 +2840,7 @@ def get_remote_driver(
28292840 log_cdp_events ,
28302841 no_sandbox ,
28312842 disable_gpu ,
2843+ headless1 ,
28322844 headless2 ,
28332845 incognito ,
28342846 guest_mode ,
@@ -2948,6 +2960,7 @@ def get_local_driver(
29482960 log_cdp_events ,
29492961 no_sandbox ,
29502962 disable_gpu ,
2963+ headless1 ,
29512964 headless2 ,
29522965 incognito ,
29532966 guest_mode ,
@@ -3425,8 +3438,14 @@ def get_local_driver(
34253438 else :
34263439 pass # Will need Xvfb on Linux
34273440 elif headless :
3428- if "--headless" not in edge_options .arguments :
3429- edge_options .add_argument ("--headless" )
3441+ if (
3442+ "--headless" not in edge_options .arguments
3443+ and "--headless=old" not in edge_options .arguments
3444+ ):
3445+ if headless1 :
3446+ edge_options .add_argument ("--headless=old" )
3447+ else :
3448+ edge_options .add_argument ("--headless" )
34303449 if mobile_emulator and not is_using_uc (undetectable , browser_name ):
34313450 emulator_settings = {}
34323451 device_metrics = {}
@@ -3788,6 +3807,7 @@ def get_local_driver(
37883807 log_cdp_events ,
37893808 no_sandbox ,
37903809 disable_gpu ,
3810+ headless1 ,
37913811 headless2 ,
37923812 incognito ,
37933813 guest_mode ,
@@ -3960,8 +3980,14 @@ def get_local_driver(
39603980 except Exception :
39613981 pass # Will need Xvfb on Linux
39623982 elif headless :
3963- if "--headless" not in chrome_options .arguments :
3964- chrome_options .add_argument ("--headless" )
3983+ if (
3984+ "--headless" not in chrome_options .arguments
3985+ and "--headless=old" not in chrome_options .arguments
3986+ ):
3987+ if headless1 :
3988+ chrome_options .add_argument ("--headless=old" )
3989+ else :
3990+ chrome_options .add_argument ("--headless" )
39653991 if LOCAL_CHROMEDRIVER and os .path .exists (LOCAL_CHROMEDRIVER ):
39663992 try :
39673993 make_driver_executable_if_not (LOCAL_CHROMEDRIVER )
@@ -4227,6 +4253,12 @@ def get_local_driver(
42274253 chrome_options .arguments .remove (
42284254 "--headless"
42294255 )
4256+ if "--headless=old" in (
4257+ chrome_options .arguments
4258+ ):
4259+ chrome_options .arguments .remove (
4260+ "--headless=old"
4261+ )
42304262 uc_chrome_version = None
42314263 if (
42324264 use_version .isnumeric ()
@@ -4300,6 +4332,7 @@ def get_local_driver(
43004332 False , # log_cdp_events
43014333 no_sandbox ,
43024334 disable_gpu ,
4335+ False , # headless1
43034336 False , # headless2
43044337 incognito ,
43054338 guest_mode ,
@@ -4541,6 +4574,7 @@ def get_local_driver(
45414574 False , # log_cdp_events
45424575 no_sandbox ,
45434576 disable_gpu ,
4577+ False , # headless1
45444578 False , # headless2
45454579 incognito ,
45464580 guest_mode ,
@@ -4792,6 +4826,8 @@ def get_local_driver(
47924826 )
47934827 if "--headless" in chrome_options .arguments :
47944828 chrome_options .arguments .remove ("--headless" )
4829+ if "--headless=old" in chrome_options .arguments :
4830+ chrome_options .arguments .remove ("--headless=old" )
47954831 service = ChromeService (
47964832 log_output = os .devnull ,
47974833 service_args = ["--disable-build-check" ]
0 commit comments