@@ -107,7 +107,10 @@ def make_driver_executable_if_not(driver_path):
107107
108108def extend_driver (driver ):
109109 # Extend the driver with new methods
110+ driver .default_find_element = driver .find_element
110111 DM = sb_driver .DriverMethods (driver )
112+ driver .find_element = DM .find_element
113+ driver .locator = DM .locator
111114 page = types .SimpleNamespace ()
112115 page .open = DM .open_url
113116 page .click = DM .click
@@ -2168,9 +2171,6 @@ def get_local_driver(
21682171 major_edge_version = None
21692172 if major_edge_version :
21702173 use_version = major_edge_version
2171- use_version = find_edgedriver_version_to_use (
2172- use_version , driver_version
2173- )
21742174 edge_driver_version = None
21752175 edgedriver_upgrade_needed = False
21762176 if os .path .exists (LOCAL_EDGEDRIVER ):
@@ -2197,8 +2197,13 @@ def get_local_driver(
21972197 output = 0
21982198 if int (output ) >= 2 :
21992199 edge_driver_version = output
2200+ if driver_version == "keep" :
2201+ driver_version = edge_driver_version
22002202 except Exception :
22012203 pass
2204+ use_version = find_edgedriver_version_to_use (
2205+ use_version , driver_version
2206+ )
22022207 local_edgedriver_exists = False
22032208 if LOCAL_EDGEDRIVER and os .path .exists (LOCAL_EDGEDRIVER ):
22042209 local_edgedriver_exists = True
@@ -2671,6 +2676,8 @@ def get_local_driver(
26712676 output = full_ch_driver_version .split ("." )[0 ]
26722677 if int (output ) >= 2 :
26732678 ch_driver_version = output
2679+ if driver_version == "keep" :
2680+ driver_version = ch_driver_version
26742681 except Exception :
26752682 pass
26762683 elif path_chromedriver :
@@ -2693,8 +2700,21 @@ def get_local_driver(
26932700 output = full_ch_driver_version .split ("." )[0 ]
26942701 if int (output ) >= 2 :
26952702 ch_driver_version = output
2703+ if driver_version == "keep" :
2704+ use_version = ch_driver_version
26962705 except Exception :
26972706 pass
2707+ disable_build_check = True
2708+ uc_driver_version = None
2709+ if is_using_uc (undetectable , browser_name ):
2710+ uc_driver_version = get_uc_driver_version ()
2711+ if multi_proxy :
2712+ sb_config .multi_proxy = True
2713+ if uc_driver_version and driver_version == "keep" :
2714+ driver_version = uc_driver_version
2715+ use_version = find_chromedriver_version_to_use (
2716+ use_version , driver_version
2717+ )
26982718 if headless2 :
26992719 try :
27002720 if use_version == "latest" or int (use_version ) >= 109 :
@@ -2719,15 +2739,6 @@ def get_local_driver(
27192739 elif headless :
27202740 if "--headless" not in chrome_options .arguments :
27212741 chrome_options .add_argument ("--headless" )
2722- disable_build_check = True # True is NEW for Chrome 115 changes!
2723- uc_driver_version = None
2724- if is_using_uc (undetectable , browser_name ):
2725- uc_driver_version = get_uc_driver_version ()
2726- if multi_proxy :
2727- sb_config .multi_proxy = True
2728- use_version = find_chromedriver_version_to_use (
2729- use_version , driver_version
2730- )
27312742 if LOCAL_CHROMEDRIVER and os .path .exists (LOCAL_CHROMEDRIVER ):
27322743 try :
27332744 make_driver_executable_if_not (LOCAL_CHROMEDRIVER )
0 commit comments