@@ -2159,6 +2159,19 @@ def get_local_driver(
2159
2159
auto_upgrade_chromedriver = True
2160
2160
elif "Chrome version must be between" in e .msg :
2161
2161
auto_upgrade_chromedriver = True
2162
+ elif "Missing or invalid capabilities" in e .msg :
2163
+ if selenium4_or_newer :
2164
+ chrome_options .add_experimental_option ("w3c" , True )
2165
+ service = ChromeService (log_path = os .devnull )
2166
+ with warnings .catch_warnings ():
2167
+ warnings .simplefilter (
2168
+ "ignore" , category = DeprecationWarning
2169
+ )
2170
+ return webdriver .Chrome (
2171
+ service = service , options = chrome_options
2172
+ )
2173
+ else :
2174
+ raise
2162
2175
if not auto_upgrade_chromedriver :
2163
2176
raise # Not an obvious fix.
2164
2177
else :
@@ -2257,6 +2270,19 @@ def get_local_driver(
2257
2270
auto_upgrade_chromedriver = True
2258
2271
elif "Chrome version must be between" in e .msg :
2259
2272
auto_upgrade_chromedriver = True
2273
+ elif "Missing or invalid capabilities" in e .msg :
2274
+ if selenium4_or_newer :
2275
+ chrome_options .add_experimental_option ("w3c" , True )
2276
+ service = ChromeService (log_path = os .devnull )
2277
+ with warnings .catch_warnings ():
2278
+ warnings .simplefilter (
2279
+ "ignore" , category = DeprecationWarning
2280
+ )
2281
+ return webdriver .Chrome (
2282
+ service = service , options = chrome_options
2283
+ )
2284
+ else :
2285
+ raise
2260
2286
mcv = None # Major Chrome Version
2261
2287
if "Current browser version is " in e .msg :
2262
2288
line = e .msg .split ("Current browser version is " )[1 ]
0 commit comments