Я бы хотел автоматизировать видеоплеер на веб-странице, используя Selenium в Python.
Я не могу найти интерактивные части плеера с помощью driver.find_element_by_...
Я решил попробовать это сделать, создав специальную логику для браузера, которая знает, как перемещаться по странице и плееру с помощью навигации по клавиатуре (вкладки счетчика для Chrome, против Safari, против Firefox и т. д.).
driver.find_element_by_tag_name('body').send_keys(Keys.TAB))
Я могу выбрать каждый элемент управления проигрывателя с помощью вкладки (воспроизведение / пауза, текущая позиция, регулировка громкости звука, полный экрани дополнительные опции) и имели умеренный успех, манипулируя элементами управления игрока с помощью ActionChains
, однажды выбранной с помощью навигации TAB
actions = ActionChains(driver)
actions.send_keys(Keys.DOWN) # to reduce volume or
actions.send_keys(Keys.LEFT) # to rewind playback
Примером чего-то, что не работает должным образом с этим методом, является отправка Key.SPACE
до кнопки MUTE
при выборе.Вместо этого пробел применяется как действие навигации по странице и прокручивает страницу вниз, как нажатие page down
.Я ищу метод, который либо заставляет элементы управления работать должным образом при ручной навигации по странице с помощью клавиатуры, напр.пространство на выделенном объекте взаимодействует и обычно отключает видео в этом контексте, или обходной путь, который позволяет мне выполнить то же самое.Для этого я подумал, смогу ли я получить координаты окон выбранного объекта TAB
в видеоплеере и просто выполнить щелчок, который, по крайней мере, позволил бы мне взаимодействовать с элементом управления.
Также, если яЯ собираюсь об этом все неправильно, дайте мне знать.Спасибо!