top | item 44238170 (no title) bobbyraduloff | 8 months ago Is there a write up on how you deal with the captchas? discuss order hn newest pokemyiout|8 months ago I was also interested in this and couldn't find more information in the docs, even in the deep dive [1].However, I did find this for their CF Turnstile bypass [2]: async def _bypass_cloudflare( self, event: dict, custom_selector: Optional[tuple[By, str]] = None, time_before_click: int = 2, time_to_wait_captcha: int = 5, ): """Attempt to bypass Cloudflare Turnstile captcha when detected.""" try: selector = custom_selector or (By.CLASS_NAME, 'cf-turnstile') element = await self.find_or_wait_element( *selector, timeout=time_to_wait_captcha, raise_exc=False ) element = cast(WebElement, element) if element: # adjust the external div size to shadow root width (usually 300px) await self.execute_script('argument.style="width: 300px"', element) await asyncio.sleep(time_before_click) await element.click() except Exception as exc: logger.error(f'Error in cloudflare bypass: {exc}') [1] https://autoscrape-labs.github.io/pydoll/deep-dive/[2] https://github.com/autoscrape-labs/pydoll/blob/5fd638d68dd66... thalissonvs|8 months ago you can check the official documentation, there's a section 'Deep Dive'
pokemyiout|8 months ago I was also interested in this and couldn't find more information in the docs, even in the deep dive [1].However, I did find this for their CF Turnstile bypass [2]: async def _bypass_cloudflare( self, event: dict, custom_selector: Optional[tuple[By, str]] = None, time_before_click: int = 2, time_to_wait_captcha: int = 5, ): """Attempt to bypass Cloudflare Turnstile captcha when detected.""" try: selector = custom_selector or (By.CLASS_NAME, 'cf-turnstile') element = await self.find_or_wait_element( *selector, timeout=time_to_wait_captcha, raise_exc=False ) element = cast(WebElement, element) if element: # adjust the external div size to shadow root width (usually 300px) await self.execute_script('argument.style="width: 300px"', element) await asyncio.sleep(time_before_click) await element.click() except Exception as exc: logger.error(f'Error in cloudflare bypass: {exc}') [1] https://autoscrape-labs.github.io/pydoll/deep-dive/[2] https://github.com/autoscrape-labs/pydoll/blob/5fd638d68dd66...
pokemyiout|8 months ago
However, I did find this for their CF Turnstile bypass [2]:
[1] https://autoscrape-labs.github.io/pydoll/deep-dive/[2] https://github.com/autoscrape-labs/pydoll/blob/5fd638d68dd66...
thalissonvs|8 months ago