соскоб селен защищенный сайт - PullRequest
0 голосов
/ 06 ноября 2019

У меня проблема с возможностью автоматизации ( веб-сайт (нажмите здесь) )

Похоже, что сайт каким-то образом защищен для chromedriver. Когда я захожу на сайт в обычном режиме, у меня нет проблем, но когда Selen пытается автоматизировать сайт, URL перенаправляется на другую домашнюю страницу.

Вот мой пример кода:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

chrome_options = Options()
#chrome_options.add_argument("--headless")

EXE_PATH = 'chromedriver.exe'
driver = webdriver.Chrome(executable_path=EXE_PATH)#, options=chrome_options)
driver.get(SEE URL ABOVE)
time.sleep(5)
print(driver.current_url)
driver.quit()

Пожалуйста, используйте ссылку в гиперссылке. Я удалил его из своего кода здесь.

Интересно, сталкивался ли кто-нибудь с подобными проблемами с веб-сайтами, обнаружившими, что браузер автоматизирован с помощью селена, и есть ли какой-нибудь возможный способ обойти это. Если нет, возможно, у вас есть предложение, которым вы могли бы поделиться, чтобы заняться с другой стороны.

1 Ответ

1 голос
/ 06 ноября 2019

Немного больше о вашем сценарии использования и о том, почему вы ... считаете, что сайт защищен ... помогло бы нам провести дальнейший анализ проблемы. Однако через Selenium для доступа к сайту вы можете использовать следующее решение:

  • Блок кода:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    options = webdriver.ChromeOptions()
    options.add_argument("start-maximized")
    #options.add_argument("--headless")
    options.add_experimental_option("excludeSwitches", ["enable-automation"])
    options.add_experimental_option('useAutomationExtension', False)
    driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get("https://publicindex.sccourts.org/horry/publicindex/")
    WebDriverWait(driver, 10).until(EC.title_contains("Index"))
    print(driver.current_url)
    driver.quit()
    
  • Консольный вывод:

    https://publicindex.sccourts.org/horry/publicindex/
    

Outro

Вы можете найти пару соответствующих обсуждений в:

...