Я пытаюсь отобразить HTML-страницы на сервере Ubuntu (AWS-EC2), используя селен и хромированный драйвер с pyvirtualdisplay. HTML-страницы отображаются не так, как на моем ПК с Windows. Прикрепляем скриншоты взятые с вебдрайвера.
Изображение, отображаемое на ПК с Windows
Изображение, отображаемое на сервере Ubuntu с помощью pyvirtualdisplay
Базовая конфигурация, выполняемая при запуске моего кода Python (фрагменты кода Python) -
display_width=1366
display_height=768
Разрешение такое же, как у моего ПК с Windows.
UserAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0"
Это стандартный пользовательский агент.
def create_driver(executable_path,extension_path):
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--user-agent='+UserAgent)
driver = webdriver.Chrome(executable_path=executable_path, chrome_options=chrome_options)
driver.set_window_size(display_width,display_height
driver.delete_all_cookies()
return driver
Этот код создает драйвер
display = Display(visible=0, size=(display_width, display_height))
display.start()
driver = create_driver(executable_path,extension_path)
input_html_file='SAMPLE'
driver.get('file://///var/tmp/' + input_html_file)
У меня есть сохраненный HTML-файл, который я открываю в драйвере - SAMPLE.
Это тот же HTML-код, который я открыл в Windows. Как вы видите на снимках экрана, текст «91 отзыв о продавце» переносится на новую строку. Поскольку я работаю над расчетом высоты этого блока и других областей, это влияет на мои результаты.
Код работает как шарм в Windows, давая правильный результат (высоту), но в Ubuntu, поскольку рендеринг сам по себе неверен, результат тоже.
Это то, что я пробовал до сих пор -
- Изменение разрешения дисплея. Не работает. При абсолютно любом размере дисплея скриншот выглядит одинаково.
- Смена шрифта, размера шрифта и т. Д. Не вышло. Каждый блок в HTML имеет разные CSS, так что это головная боль.
- Смена браузера. Не работало ни в Firefox, ни в Chrome
У меня заканчиваются идеи, было бы очень полезно, если бы кто-нибудь поделился своими идеями или опытом или каким-либо решением этой проблемы.
Я понимаю, что это может быть проблема с графическим драйвером, она есть в Windows, а на сервере Ubuntu - нет.
Пожалуйста помоги. Спасибо, в ожидании.
Изменить: описания изображений.