Поддержка запуска flash на Chrome 54.0.2840.59 (64-bit)

python
webdriver
javascript
chrome
Теги: #<Tag:0x00007fedbbb81d88> #<Tag:0x00007fedbbb81c48> #<Tag:0x00007fedbbb81b08> #<Tag:0x00007fedbbb819a0>

#1

Суть вопроса проста - как запустить flash на Chrome 54.хххх?
Поддерживается ли вообще?
Использую python.

Для опережения вопросов:

  1. в общем задача стоит в том, чтобы запустить флешовую игру и по косвенным признакам проверить что она стартонула.
  2. проверки - после запуска флешка должна отправить определенные команды на сервер - это и проверяем.
  3. еще одна проверка - запустить на странице опреленный js-вый код, проверяем результаты его работы
  4. нужен именно Chrome, потому что только на хроме можно сделать проверки см.п.п.2, 3 - (тут возможно ошибаюсь, что только на хроме)
  5. в конечном итоге все крутится на win удаленном робочем столе через seleniumserver

(Vasiliy Rakshin) #2

Чтобы запустить игру, надо перейти на страницу с ней. У вас проблема при загрузке этой страницы в хроме?


#3

Про запустить - то понятно :slight_smile:

Вопрос в том что браузер выдает при попытке подгрузить флеш - This plugin is not supported


(Vasiliy Rakshin) #4

У меня страница http://www.adobe.com/software/flash/about/ в хроме открывается, ролик проигрывается, версия пишется. Конечно же использую самые свежие версии драйвера и браузера (2.24.417431 / 54.0.2840.59).


#5

Похоже что-то с настройками - This plugin is not supported

Использую

Код

from selenium import webdriver

browser = webdriver.Chrome('/home/web_driver/chromedriver')
browser.get('http://www.adobe.com/software/flash/about/')

(Vasiliy Rakshin) #6

У меня винда.
Гуглите свою проблему. так быстрее будет.
Может поможет - http://help.ubuntu.ru/wiki/flash.
Вообще флеш работает на машине? если руками открывать?


(You Rooock) #7

а как запускаете? Через CI? В хедлесс режиме или нет?


#8

Интересный вопрос. Что такое “Через CI? В хедлес…”?

Делал все просто как указано выше, ниче особенного.
webdriver.Chrome(’/home/web_driver/chromedriver’) - в параметрах путь к скачанному файлу http://chromedriver.storage.googleapis.com/index.html?path=2.24/

Еще вопром, наверно дилетанский, - Хром который запускает вебдрайвер и который установлен в системе разные - там флеш играет норм. При этом версия одна и таже.
Где хранятся настройки хрома, который вебдрайвер запускает? Или может есть апишка?


(Vasiliy Rakshin) #9

Настраивайте тот хром что запускаете чтобы показывал флеш, когда он руками запускается и тогда с вебрайвером заработает.


(You Rooock) #10

Ну как у вас тесты запускаются? через Continuos Integration сервер (TeamCity, Jenkins etc)?
После запуска тестов на удаленном сервере видно как поднимаются окна или нет?


#11

Разобрался.

Причина - в дефолтном конфиге отключено безусловное выполнение плагина (почему - непонятно).
Чтобы посмотреть - заходим chrome://plugins/, смотрим галочку “Always allowed to run” возле нужного плагина.

Решение - подменить дефолтный конфиг:

  • настроить установленый в системе хром нужным образом (размещение конфига chrome://version/)
  • в тесте подменить (указать размещение) дефолтный конфиг на конфиг с нужными настройками :
from selenium import webdriver

op = webdriver.ChromeOptions()
op.add_argument("user-data-dir=/home/roman/.config/google-chrome")

browser = webdriver.Chrome('/home/roman/web_driver/chromedriver', chrome_options=op)
browser.get('http://www.adobe.com/software/flash/about/')

(Dunecat Shai Hulud) #12

Причина - в дефолтном конфиге отключено безусловное выполнение плагина (почему - непонятно).

Это с 54 хромом прилетело

Еще работает вариант поставить внешний PPAPI флэш


(Александр Беликов) #13

Вопрос тс. Вы автоматизируете flash игру?


#14

Задача простая - проверить флеш игры на запуск. Смоук тест просто.
Проверяем по “косвенным” признакам - игра после подгрузки должна отправить на сервер определенные команды. Команды ловлю в логах хрома.


#15

Если надо работать с Selenium server

        op = ChromeOptions()
        op.add_argument("user-data-dir=C:\Users\python")
        d = op.to_capabilities()

        # добавляем еще параметры
        d['loggingPrefs'] = {'browser':'ALL' , 'performance':'ALL'}
 
        driver = Remote(command_executor=hub, desired_capabilities=d)