undetected-chromedriver icon indicating copy to clipboard operation
undetected-chromedriver copied to clipboard

I can't bypass cloudflare

Open mcsham opened this issue 9 months ago • 4 comments

from time import sleep

from selenium.common import TimeoutException
from selenium.webdriver.support import expected_conditions as EC
import undetected_chromedriver as uc  # the driver
from selenium.webdriver.common.by import By  # to find various items on the page
from selenium.webdriver.chrome.options import Options  # to have devtools open
from selenium.webdriver.support.wait import WebDriverWait
from undetected_chromedriver import WebElement


def wait_elem(driver, selector, m=EC.presence_of_element_located, method=By.XPATH, tmt=5,
              click=False) -> WebElement | None:
    try:
        el = WebDriverWait(driver, tmt).until(m((method, selector)))
        if click and el:
            el.click()
        return el
    except TimeoutException:
        return None
    except Exception as f:
        print(f)
        return None


def cloudflare(driver):
    for _ in range(5):
        if not any([i in driver.page_source for i in ['site connection is secure', 'are a human']]):
            return False
        iframe = wait_elem(driver, 'iframe[src *= "cloudflare.com"]', tmt=15, method=By.CSS_SELECTOR)
        if not iframe:
            return False
        driver.switch_to.frame(iframe)
        cb = wait_elem(driver, 'input[type=checkbox]', method=By.CSS_SELECTOR)
        if cb:
            cb.click()
        driver.switch_to.default_content()
        sleep(3)


if __name__ == '__main__':
    url = 'https://www.propertyguru.com.sg/property-for-sale?agent_id=195876&market=residential'
    options = Options()
    options.add_argument('--auto-open-devtools-for-tabs')
    driver = uc.Chrome(options=options, use_subprocess=True)
    driver.execute_script(f'window.open("{url}", "_blank");')
    driver.switch_to.window(driver.window_handles[-1])
    cloudflare(driver)
    sleep(10)
    driver.quit()  # quit

What am I doing wrong?

mcsham avatar Sep 24 '23 21:09 mcsham

Have you solved this problem?

zaimatest avatar Oct 02 '23 04:10 zaimatest

I gave it a try, it seems to be possible

zaimatest avatar Oct 02 '23 08:10 zaimatest

Ви вирішили цю проблему?

Not yet. Even if you go from the home page, it doesn't let you through until you create a new tab by hand. And then after a couple of pages it blocks.

mcsham avatar Oct 02 '23 20:10 mcsham

Weird, it worked for me.

FujiwaraChoki avatar Dec 18 '23 12:12 FujiwaraChoki