Загрузки селенаPython

Программы на Python
Ответить
Anonymous
 Загрузки селена

Сообщение Anonymous »

Мы используем Selenium в Python 3.12 для работы с Google Chrome через стандартный chromedriver. Мы также использовали механизм прокси через расширение, которое загружается в Chrome, передавая через прокси только необходимые URL-адреса.
Проблема в том, что по какой-то неизвестной причине после запуска модуля Chrome загружает большой объем данных через прокси. , хотя единственное, что у нас есть в коде, это просто запустить процесс, открыть вкладку about:blank и дождаться входящих запросов.
Изображение

Выше показано изображение сетевых журналов модуля. Что Chrome/Selenium мог загрузить вначале, используя прокси? Почему он вообще использует прокси, если загружает какие-то внутренние данные (если это так)? Прокси-трафик стоит недешево, и если мы его увеличим, он очень быстро съест полосу пропускания.
Что еще мы можем проверить, чтобы понять, что потребляет так много трафика, кроме файлов HAR?
Это код, который мы используем для создания драйвера:

Код: Выделить всё

    def create_driver(
driver: str,
browser_binary_path: str,
driver_binary_path: str,
user_data_dir: str = None,
browser_data_dir: str = None,
disk_cache_dir: str = None,
id_number: int = 0

) -> webdriver.Chrome:
options = webdriver.ChromeOptions()
user_agent = fake_useragent.UserAgent().chrome
options.add_argument(f"--user-agent={user_agent}")
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument('--disable-gpu')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--no-sandbox')
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
if sock.connect_ex(('localhost', 9222 + id_number)) == 0:
raise RuntimeError(f"Порт {9222 + id_number} уже занят.")
options.add_argument(f'--remote-debugging-port={9222 + id_number}')
options.add_extension(os.path.abspath('proxy_auth_plugin.crx'))
if user_data_dir is not None:
options.add_argument(f"--user-data-dir={user_data_dir}")
if browser_data_dir is not None:
options.add_argument(f"--data-path={browser_data_dir}")
if disk_cache_dir is not None:
options.add_argument(f"--disk-cache-dir={disk_cache_dir}")
if browser_binary_path is not None:
options.binary_location = browser_binary_path
if driver == 'chrome':
if driver_binary_path != '':
service = ChromeService(executable_path=driver_binary_path)
driver = webdriver.Chrome(service=service, options=options)
else:
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), options=options)
return driver
ОБНОВЛЕНИЕ
Начинаю верить, что это как-то связано с расширением CRX - когда я включаю его загрузку, использование в начале сразу же падает. Конечно, это также останавливает поток данных через прокси-провайдера, который не нужен, но, по крайней мере, похоже, что виновато расширение.
[img]https://i .sstatic.net/yndFYA0w.png[/img]


Подробнее здесь: https://stackoverflow.com/questions/790 ... -downloads
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»