Не работает Selenium в --headless режиме

Делаю парсер и возникла ошибка --headless режиме Selenium не видит элементы. Искал информацию про это, но так и не нашел то что бы мне помогло.

from time import sleep, time
from urllib import request
from urllib.request import urlretrieve, urlopen
from pprint import pprint

import openpyxl
import selenium
from openpyxl.utils import get_column_letter
from selenium import webdriver, common
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By

import ssl
import os

url = "https://megamarket.ru/shop/megamarket-moskva/catalog/bytovaya-tehnika/"
start_time = time()


def parse_product(url):
    print(f"----- PARSE {url}")

    options = webdriver.ChromeOptions()
    options.add_argument('--headless')
    options.add_argument("--window-size=1920,1080")
    options.add_argument('--ignore-certificate-errors')
    options.add_argument('--disable-gpu')
    options.add_argument(
        "--user-agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0'")


    driver = webdriver.Chrome(options=options)
    driver.set_window_size(1920, 1080)

    driver.get(url)

    sleep(5)

    out_data = []


    products = driver.find_elements(By.CLASS_NAME, "catalog-item")
    pprint(products)
    data = []
    for product in products:
        data.clear()

        data.append(product.find_element(By.CLASS_NAME, "item-price").text)
        try:
            data.append(product.find_element(By.CLASS_NAME, "bonus-amount").text)
        except selenium.common.exceptions.NoSuchElementException:
            data.append(None)
        data.append(product.find_element(By.CLASS_NAME, "item-title").get_attribute("title"))

        out_data.append(data[:])

    pprint(out_data)


parse_product(url)

end_time = time()


elapsed_time = end_time - start_time
print('Elapsed time: ', elapsed_time)

Пробовал разные методы, но ничего не помогает. Без --headless режиме все работает нормально.


Ответы (0 шт):