File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1974,7 +1974,10 @@ def _on_a_cf_turnstile_page(self, source=None):
19741974
19751975 def _on_an_incapsula_hcaptcha_page (self , * args , ** kwargs ):
19761976 self .loop .run_until_complete (self .page .wait ())
1977- if self .is_element_visible ('iframe[src*="_Incapsula_Resource?"]' ):
1977+ if (
1978+ self .is_element_visible ('iframe[src*="_Incapsula_Resource?"]' )
1979+ or self .is_element_visible ("iframe[data-hcaptcha-widget-id]" )
1980+ ):
19781981 return True
19791982 return False
19801983
@@ -2052,13 +2055,16 @@ def __gui_click_recaptcha(self, use_cdp=False):
20522055 return False
20532056
20542057 def __cdp_click_incapsula_hcaptcha (self ):
2055- selector = None
2058+ selector = "iframe[data-hcaptcha-widget-id]"
20562059 if self .is_element_visible ('iframe[src*="_Incapsula_Resource?"]' ):
20572060 outer_selector = 'iframe[src*="_Incapsula_Resource?"]'
2058- selector = "iframe[data-hcaptcha-widget-id]"
20592061 element = self .get_nested_element (outer_selector , selector )
20602062 if not element :
20612063 return False
2064+ elif self .is_element_visible (selector ):
2065+ element = self .select (selector , timeout = 0.1 )
2066+ if not element :
2067+ return False
20622068 else :
20632069 return False
20642070 time .sleep (0.05 )
Original file line number Diff line number Diff line change @@ -599,6 +599,18 @@ async def start(
599599 sb_config .disable_csp = True
600600 if "binary_location" in kwargs and not browser_executable_path :
601601 browser_executable_path = kwargs ["binary_location" ]
602+ if not user_data_dir and "--user-data-dir" in arg_join :
603+ udd_string = None
604+ if "--user-data-dir=" in arg_join :
605+ udd_string = arg_join .split ("--user-data-dir=" )[1 ].split (" " )[0 ]
606+ elif "--user-data-dir " in arg_join :
607+ udd_string = arg_join .split ("--user-data-dir " )[1 ].split (" " )[0 ]
608+ if udd_string :
609+ if udd_string .startswith ('"' ) and udd_string .endswith ('"' ):
610+ udd_string = udd_string [1 :- 1 ]
611+ elif udd_string .startswith ("'" ) and udd_string .endswith ("'" ):
612+ udd_string = udd_string [1 :- 1 ]
613+ user_data_dir = udd_string
602614 if not browser_executable_path :
603615 browser = None
604616 if "browser" in kwargs :
@@ -611,9 +623,9 @@ async def start(
611623 br_string = arg_join .split ("--browser " )[1 ].split (" " )[0 ]
612624 if br_string :
613625 if br_string .startswith ('"' ) and br_string .endswith ('"' ):
614- br_string = proxy_string [1 :- 1 ]
626+ br_string = br_string [1 :- 1 ]
615627 elif br_string .startswith ("'" ) and br_string .endswith ("'" ):
616- br_string = proxy_string [1 :- 1 ]
628+ br_string = br_string [1 :- 1 ]
617629 browser = br_string
618630 if not browser :
619631 if "--edge" in sys_argv :
You can’t perform that action at this time.
0 commit comments