@@ -203,6 +203,8 @@ def extend_driver(driver):
203
203
driver .is_exact_text_visible = DM .is_exact_text_visible
204
204
driver .is_attribute_present = DM .is_attribute_present
205
205
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
206
208
driver .is_online = DM .is_online
207
209
driver .js_click = DM .js_click
208
210
driver .get_text = DM .get_text
@@ -1553,6 +1555,7 @@ def _set_chrome_options(
1553
1555
log_cdp_events ,
1554
1556
no_sandbox ,
1555
1557
disable_gpu ,
1558
+ headless1 ,
1556
1559
headless2 ,
1557
1560
incognito ,
1558
1561
guest_mode ,
@@ -1771,7 +1774,10 @@ def _set_chrome_options(
1771
1774
pass # Processed After Version Check
1772
1775
elif headless :
1773
1776
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" )
1775
1781
if undetectable and servername and servername != "localhost" :
1776
1782
# The Grid Node will need Chrome 109 or newer
1777
1783
chrome_options .add_argument ("--headless=new" )
@@ -2193,6 +2199,7 @@ def get_driver(
2193
2199
log_cdp_events = False ,
2194
2200
no_sandbox = False ,
2195
2201
disable_gpu = False ,
2202
+ headless1 = False ,
2196
2203
headless2 = False ,
2197
2204
incognito = False ,
2198
2205
guest_mode = False ,
@@ -2406,6 +2413,7 @@ def get_driver(
2406
2413
log_cdp_events ,
2407
2414
no_sandbox ,
2408
2415
disable_gpu ,
2416
+ headless1 ,
2409
2417
headless2 ,
2410
2418
incognito ,
2411
2419
guest_mode ,
@@ -2462,6 +2470,7 @@ def get_driver(
2462
2470
log_cdp_events ,
2463
2471
no_sandbox ,
2464
2472
disable_gpu ,
2473
+ headless1 ,
2465
2474
headless2 ,
2466
2475
incognito ,
2467
2476
guest_mode ,
@@ -2522,6 +2531,7 @@ def get_remote_driver(
2522
2531
log_cdp_events ,
2523
2532
no_sandbox ,
2524
2533
disable_gpu ,
2534
+ headless1 ,
2525
2535
headless2 ,
2526
2536
incognito ,
2527
2537
guest_mode ,
@@ -2657,6 +2667,7 @@ def get_remote_driver(
2657
2667
log_cdp_events ,
2658
2668
no_sandbox ,
2659
2669
disable_gpu ,
2670
+ headless1 ,
2660
2671
headless2 ,
2661
2672
incognito ,
2662
2673
guest_mode ,
@@ -2829,6 +2840,7 @@ def get_remote_driver(
2829
2840
log_cdp_events ,
2830
2841
no_sandbox ,
2831
2842
disable_gpu ,
2843
+ headless1 ,
2832
2844
headless2 ,
2833
2845
incognito ,
2834
2846
guest_mode ,
@@ -2948,6 +2960,7 @@ def get_local_driver(
2948
2960
log_cdp_events ,
2949
2961
no_sandbox ,
2950
2962
disable_gpu ,
2963
+ headless1 ,
2951
2964
headless2 ,
2952
2965
incognito ,
2953
2966
guest_mode ,
@@ -3425,8 +3438,14 @@ def get_local_driver(
3425
3438
else :
3426
3439
pass # Will need Xvfb on Linux
3427
3440
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" )
3430
3449
if mobile_emulator and not is_using_uc (undetectable , browser_name ):
3431
3450
emulator_settings = {}
3432
3451
device_metrics = {}
@@ -3788,6 +3807,7 @@ def get_local_driver(
3788
3807
log_cdp_events ,
3789
3808
no_sandbox ,
3790
3809
disable_gpu ,
3810
+ headless1 ,
3791
3811
headless2 ,
3792
3812
incognito ,
3793
3813
guest_mode ,
@@ -3960,8 +3980,14 @@ def get_local_driver(
3960
3980
except Exception :
3961
3981
pass # Will need Xvfb on Linux
3962
3982
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" )
3965
3991
if LOCAL_CHROMEDRIVER and os .path .exists (LOCAL_CHROMEDRIVER ):
3966
3992
try :
3967
3993
make_driver_executable_if_not (LOCAL_CHROMEDRIVER )
@@ -4227,6 +4253,12 @@ def get_local_driver(
4227
4253
chrome_options .arguments .remove (
4228
4254
"--headless"
4229
4255
)
4256
+ if "--headless=old" in (
4257
+ chrome_options .arguments
4258
+ ):
4259
+ chrome_options .arguments .remove (
4260
+ "--headless=old"
4261
+ )
4230
4262
uc_chrome_version = None
4231
4263
if (
4232
4264
use_version .isnumeric ()
@@ -4300,6 +4332,7 @@ def get_local_driver(
4300
4332
False , # log_cdp_events
4301
4333
no_sandbox ,
4302
4334
disable_gpu ,
4335
+ False , # headless1
4303
4336
False , # headless2
4304
4337
incognito ,
4305
4338
guest_mode ,
@@ -4541,6 +4574,7 @@ def get_local_driver(
4541
4574
False , # log_cdp_events
4542
4575
no_sandbox ,
4543
4576
disable_gpu ,
4577
+ False , # headless1
4544
4578
False , # headless2
4545
4579
incognito ,
4546
4580
guest_mode ,
@@ -4792,6 +4826,8 @@ def get_local_driver(
4792
4826
)
4793
4827
if "--headless" in chrome_options .arguments :
4794
4828
chrome_options .arguments .remove ("--headless" )
4829
+ if "--headless=old" in chrome_options .arguments :
4830
+ chrome_options .arguments .remove ("--headless=old" )
4795
4831
service = ChromeService (
4796
4832
log_output = os .devnull ,
4797
4833
service_args = ["--disable-build-check" ]
0 commit comments