Selenium - Получение страницы с ошибкой при попытке загрузить сайт?

Я пытаюсь загрузить этот сайт https://www.pferdewetten.de/ со следующим кодом:

import time
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from sys import platform
import os, sys
import xlwings as xw
from selenium.webdriver.support.ui import WebDriverWait
from webdriver_manager.chrome import ChromeDriverManager
from fake_useragent import UserAgent

if __name__ == '__main__':
  SAVE_INTERVAL = 5
  WAIT = 3
   
  print(f"Checking chromedriver...")
  os.environ['WDM_LOG_LEVEL'] = '0' 
  ua = UserAgent()
  userAgent = ua.random
  options = Options()
  # options.add_argument('--headless')
  options.add_experimental_option ('excludeSwitches', ['enable-logging'])
  options.add_experimental_option("prefs", {"profile.default_content_setting_values.notifications": 1})    
  options.add_argument("--disable-infobars")
  options.add_argument("--disable-extensions")  
  options.add_argument("start-maximized")
  options.add_argument('window-size=1920x1080')                               
  options.add_argument('--no-sandbox')
  options.add_argument('--disable-gpu')  
  options.add_argument(f'user-agent={userAgent}')   
  srv=Service(ChromeDriverManager().install())
  driver = webdriver.Chrome (service=srv, options=options)    
  waitWebDriver = WebDriverWait (driver, 10)         
  
  link = f"https://www.pferdewetten.de/" 
  driver.get (link)  

Но я всегда получаю только эту информацию:

enter image description here

Есть ли способ загрузить этот сайт с помощью селена?

Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения текстовых сообщений может быть настолько сложным или простым, насколько вы его сделаете. Как и в любом ML-проекте, вы можете выбрать...
7 лайфхаков для начинающих Python-программистов
7 лайфхаков для начинающих Python-программистов
В этой статье мы расскажем о хитростях и советах по Python, которые должны быть известны разработчику Python.
Установка Apache Cassandra на Mac OS
Установка Apache Cassandra на Mac OS
Это краткое руководство по установке Apache Cassandra.
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
В одном из недавних постов я рассказал о том, как я использую навыки количественных исследований, которые я совершенствую в рамках программы TPQ...
Создание персонального файлового хранилища
Создание персонального файлового хранилища
Вы когда-нибудь хотели поделиться с кем-то файлом, но он содержал конфиденциальную информацию? Многие думают, что электронная почта безопасна, но это...
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
0
0
41
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В моем случае это загрузка. Вы можете просто запустить код, чтобы увидеть результат

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


options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
#options.add_argument("--headless")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('excludeSwitches', ['enable-logging'])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument('--disable-blink-features=AutomationControlled')

driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)

url='https://www.pferdewetten.de/'
driver.get(url)
time.sleep(10)
Ответ принят как подходящий

Возможно, управляемый элениумChromeDriver инициированный Контекст просмотра является быть обнаруженным как .


Чтобы избежать обнаружения, вы можете сделать несколько настроек следующим образом:

  • Удалите аргумент --no-sandbox и выполните от имени пользователя не root.
  • Удалите аргумент --disable-infobars, так как он больше не действует.
  • Удалите аргумент --disable-extensions, так как он больше не действует.
  • Добавьте экспериментальную опцию "excludeSwitches", ["enable-automation"], чтобы избежать обнаружения.
  • Добавьте экспериментальную опцию 'useAutomationExtension', False, чтобы избежать обнаружения.
  • Добавьте аргумент '--disable-blink-features=AutomationControlled', чтобы избежать обнаружения.

Эффективно ваш блок кода будет:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

options = Options()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('excludeSwitches', ['enable-logging'])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument('--disable-blink-features=AutomationControlled')
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get("https://www.pferdewetten.de/")
driver.quit()

Спасибо за ответ - вроде не работает. Только для моего понимания - что вы имеете в виду под «выполнять как пользователь без полномочий root» - где вы это делаете в своем коде?

Rapid1898 10.04.2022 17:48
выполнять как пользователь без полномочий root: Я имел в виду не как администратора, а как обычного пользователя.
undetected Selenium 10.04.2022 18:03

Другие вопросы по теме