셀레늄 막기
보통 사이트들도 당연히 사용하고 있고, 간단하게 막을 수 있다. 당연하겠지만 WebDriver 를 막을 수 있는 웹 사이트의 유일한 방법이기도 하다.
if(navigator.webdriver) {
alert('어디서 우리 신성한 사이트에 봇질이야?');
// 진입 못하게 막는 예시. 응용하여 캡챠라던가 여러 조치 수행 가능
document.write('');
}
진짜 셀레늄 막고 싶으면 캡챠 솔루션 써라 병시나.
셀레늄으로 뚫기
웹 사이트가 할 수 있는 방법은 위 방법 뿐이기 때문에 대부분의 셀레늄으로 일반 브라우저를 위장하여 접속하고 테스트 자동화를 수행할 수 있다.
양심껏 쓰기 바란다. 물론 그래도 일부 무서운 사이트(특히 구글 등)는 알아채고 캡챠를 보여주거나, 액티브엑스 떡칠한 미친 사이트는 웹드라이버 프로세스를 죽이기도 한다.
System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
options.setExperimentalOption("useAutomationExtension", false);
WebDriver driver = new ChromeDriver(options);
driver.get("https://www.google.com/");
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'C:\path\to\chromedriver.exe')
driver.get("https://www.google.com/")
출처:
Selenium webdriver: Modifying navigator.webdriver flag to prevent selenium detection
Top comments (0)