Я могу скрыть автоматизацию с веб-сайта, обычно используя options() и специальную функцию JS
Код: Выделить всё
# Configure ChromeDriver options
options = Options()
options.add_argument("--headless=new") # Enable headless mode
options.add_argument("--disable-gpu") # Disable GPU for headless mode
options.add_argument("--window-size=1920,1080") # Set viewport size
options.add_argument("--no-sandbox") # Bypass OS-level sandbox
options.add_argument("--disable-dev-shm-usage") # Prevent shared memory issues
options.add_argument("--disable-blink-features=AutomationControlled") # Prevent bot detection
options.add_argument("--disable-infobars") # Disable "Chrome is being controlled by automation" message
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
global driver
def initialize():
# Initialize WebDriver
driver = webdriver.Chrome(options=options)
# Prevent detection of WebDriver
driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
'source': '''
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
});
'''
})
# Set up Selenium WebDriver
driver.get("https://WWW.MYWEBSITE.COM")
return driver
Код: Выделить всё
selenium.common.exceptions.WebDriverException: Message: unknown error: unhandled inspector error: {"code":"brob","message":"Requested URL (https://*****redacted******) is restricted in accordance with robots.txt. Ask your account manager to get full access for targeting this site (brob)"}
(Session info: chrome=131.0.6778.109)
Код: Выделить всё
PROXY = "https://uname:pass@myhost:myport"
sbr_connection = ChromeRemoteConnection(PROXY, 'goog', 'chrome')
# Configure ChromeDriver options
options = Options()
options.add_argument("--headless=new") # Enable headless mode
options.add_argument("--disable-gpu") # Disable GPU for headless mode
options.add_argument("--window-size=1920,1080") # Set viewport size
options.add_argument("--no-sandbox") # Bypass OS-level sandbox
options.add_argument("--disable-dev-shm-usage") # Prevent shared memory issues
options.add_argument("--disable-blink-features=AutomationControlled") # Prevent bot detection
options.add_argument("--disable-infobars") # Disable "Chrome is being controlled by automation" message
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.198 Safari/537.36")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
global driver
def initialize():
# Initialize WebDriver
driver = Remote(sbr_connection, options=Options())
# Set up Selenium WebDriver
driver.get("https://www.g4k.go.kr/en/main.do")
# Prevent detection of WebDriver
# driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
# 'source': '''
# Object.defineProperty(navigator, 'webdriver', {
# get: () => undefined
# });
# '''
# })
return driver
Я также не могу использовать свой собственный метод JS с удаленным управлением вместо драйвера, говорит он Execute_cdp_cmd недоступен. и использование метода выполнения не работает, и возникают ошибки, сообщающие, что страница недоступна, поскольку мы делаем это до загрузки страницы.
Подробнее здесь: https://stackoverflow.com/questions/793 ... y-rotation