Не работает 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 режиме все работает нормально.