Как автоматизировать активацию плагина Fla sh с помощью selenium firefox geckodriver? - PullRequest
1 голос
/ 26 мая 2020

Когда я пытаюсь открыть страницу с помощью fla sh, используя автоматический сценарий python с Selenium, я попадаю на страницу, показанную на картинке ниже. И я не могу пройти.

Fla sh Страница активации

Это удаленный сервер под управлением Ubuntu 16.04, без доступа к монитору или клавиатуре / мыши.

Python версия: 3.5.2

версия Selenium: 3.14.1

Geckodriver 0.26.0

Следует моему коду:

import pyvirtualdisplay
print ("pyvirtualdisplay Display Version: %s" % (pyvirtualdisplay.__version__))
from selenium import webdriver
print ("Selenium webdriver Version: %s" % (webdriver.__version__))

display = pyvirtualdisplay.Display(visible=0, size=(800, 600))
display.start()

profile = webdriver.FirefoxProfile()
profile.native_events_enabled = False
profile.set_preference("plugin.state.flash", 2)
profile.set_preference("dom.ipc.plugins.enabled.libflashplayer.so","true")
driver = webdriver.Firefox(profile)
driver.set_page_load_timeout(60)
url = 'https://www.ultrasounds.com/US.html'
driver.get(url)

driver.close()
driver.quit()
display.stop()
quit()

Вот результат:

Python 3.5.2 (default, Apr 16 2020, 17:47:17)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyvirtualdisplay
>>> print ("pyvirtualdisplay Display Version: %s" % (pyvirtualdisplay.__version__))
pyvirtualdisplay Display Version: 0.2.4
>>> from selenium import webdriver
>>> print ("Selenium webdriver Version: %s" % (webdriver.__version__))
Selenium webdriver Version: 3.14.1
>>>
>>> display = pyvirtualdisplay.Display(visible=0, size=(800, 600))
>>> display.start()
<Display cmd_param=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '800x600x24', ':1001'] cmd=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '800x600x24', ':1001'] oserror=None return_code=None stdout="None" stderr="None" timeout_happened=False>
>>>
>>> profile = webdriver.FirefoxProfile()
>>> profile.native_events_enabled = False
>>> profile.set_preference("plugin.state.flash", 2)
>>> profile.set_preference("dom.ipc.plugins.enabled.libflashplayer.so","true")
>>> driver = webdriver.Firefox(profile)

>>> driver.set_page_load_timeout(60)
>>> url = 'https://www.ultrasounds.com/US.html'
>>> driver.get(url)
>>>
>>>
>>> import pyautogui
>>> im1 = pyautogui.screenshot('flash_activation_page.jpg')
>>> driver.close()
>>> driver.quit()
>>> display.stop()
<Display cmd_param=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '800x600x24', ':1001'] cmd=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '800x600x24', ':1001'] oserror=None return_code=0 stdout="" stderr="" timeout_happened=False>
>>>

1 Ответ

0 голосов
/ 26 мая 2020

С Firefox> = 69 вы не сможете этого сделать:

Параметр постоянной активации плагина Adobe Fla sh был удален в Firefox 69. Подробнее см. в этом документе о совместимости .


Fla sh Плеер больше не всегда может быть активирован

Опубликовано: 15 июня 2019 г.

Категории: Плагины

Релизы: Firefox 69

Описание

В рамках продолжающегося прекращения поддержки подключаемого модуля Fla sh , Firefox 69 удалил параметр «Всегда активировать» из диалогового окна уведомления страницы и параметр «Запомнить это решение». из диспетчера надстроек. Это означает, что с этого момента Firefox будет каждый раз спрашивать пользователя, хотят ли они отображать содержимое Fla sh на веб-сайте во время сеанса браузера, и пользователь не сможет изменить это поведение.

На момент написания этой статьи только половина из Firefox пользователей имели Fla sh Player, установленный в соответствии с Firefox Publi c Data Report , и их количество неуклонно сокращается. Учитывая, что поддержка Fla sh будет удалена из Firefox и других браузеров в 2020 году, вам настоятельно рекомендуется как можно скорее составить план миграции, если ваш сайт по-прежнему использует какой-либо контент Fla sh, включая устаревшие видеоплееры. .

...