Могу ли я приостановить YouTube в Chrome из командной строки?

Я могу приостановить Spotify, приостанавливая воспроизведение всех системных программ (ну, переключаясь). Как я могу сделать что-то подобное для приостановки / воспроизведения видео на YouTube в Google Chrome?

1
задан 2 February 2015 в 14:20

2 ответа

Вы можете запустить сеанс Chrome (с вашим списком воспроизведения Youtube) с помощью Chrome WebDriver:

WebDriver - это инструмент с открытым исходным кодом для автоматического тестирования веб-страниц во многих браузерах. Он предоставляет возможности для навигации по веб-страницам, вводам пользователей, выполнению JavaScript и т. Д. ChromeDriver - автономный сервер, который реализует проводной протокол WebDriver для Chromium. ChromeDriver доступен для Chrome на Android и Chrome на рабочем столе (Mac, Linux, Windows и ChromeOS).

Установите следующую зависимость:

sudo apt-get install python-selenium

Загрузите Chromedriver из Chrome WebDriver , выберите тот, который соответствует вашей архитектуре, например:

http://chromedriver.storage.googleapis.com/2.14/chromedriver_linux64.zip или http://chromedriver.storage.googleapis.com/2.14/chromedriver_linux32.zip

Извлеките chromedriver например, в вашей папке $HOME.

Затем запустите хромированный рекордер из python, откройте терминал и введите:

$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> from selenium import webdriver
>>> from selenium.webdriver.chrome.options import Options
>>> chrome_options = Options()
>>> chrome_options.add_argument("--disable-sync")
>>> driver = webdriver.Chrome(os.path.expanduser('~/chromedriver'), chrome_options=chrome_options)
>>> # Open the desired youtube page:
>>> driver.get('https://www.youtube.com/watch?v=NxD_kWK8A5M&list=PLMquns5MbFKm_cVrB0ZjKlIlS5HCQL1dL')
>>> # Let selenium find the player container <div>
>>> video = driver.find_element_by_id("player-api")
>>> # And just click to play/pause your video:
>>> video.click()
>>> 

Примечание. Вы все еще можете использовать экземпляр Chrome Chrome WebDriver для просмотра на других вкладках. даже если вкладка Youtube не является активной (без фокуса). События video.click() будут продолжать работать.

3
ответ дан 24 May 2018 в 02:48
  • 1
    О, очень приятно! Как насчет входа в хром? – Tim 3 February 2015 в 21:00
  • 2
    В нем говорится, что синхронизация отключена моим администратором ... – Tim 3 February 2015 в 21:02
  • 3
    @Time Я обновил свой ответ с возможным обходным решением для ошибки синхронизации. Я не могу проверить это сам, поскольку это работает из коробки. Не могли бы вы попробовать? – Sylvain Pineau 3 February 2015 в 22:16
  • 4
    Вау! Если мы сможем заставить это работать на машине Тима, это будет означать, что все может быть написано с помощью python ... – Fabby 3 February 2015 в 22:17
  • 5
    @Tim Sylvain отредактировал сообщение, но он ошибся вашей ручкой. Приходите и посмотрите еще! – Fabby 3 February 2015 в 22:21

Легко: запустите spotify / youtube за один сеанс хрома и все остальные вещи в другой хромированной сессии. Затем просто

kill -SIGSTOP [pid]

для паузы и:

kill -SIGCONT [pid]

для возобновления.

Если вы создаете небольшой скрипт для открытия двух сеансов хрома, по:

google-chrome http://spotify.com/myplaylist http://youtube.com/myplaylist &
pgrep google-chrome > /tmp/TimChromepid.RUN
google-chrome &

и у вас готов pid для вашего скрипта переключения:

if [ -f /tmp/TimChromepid.RUN ]; then
  mv /tmp/TimChromepid.RUN /tmp/TimChromepid.PSD
  kill -SIGSTOP < /tmp/TimChromepid.PSD
else
  mv /tmp/TimChromepid.PSD /tmp/TimChromepid.RUN
  kill -SIGCONT < /tmp/TimChromepid.RUN
fi

Это остановит spotify и Youtube и все, что вы положили в первый сеанс Chrome.

2
ответ дан 24 May 2018 в 02:48
  • 1
    И, зная Тима из ответов вместо вопросов, он теперь [facepalm] себя! ;-) Сейчас немного грубый черновик, но вы получите суть ... Если нет, я отредактирую и очищу немного ... (напишите мне записку @Fabby) – Fabby 30 January 2015 в 14:42
  • 2
    Это останавливает / предотвращает хром от серфинга в Интернете или просто останавливает youtube? – Sergiy Kolodyazhnyy 30 January 2015 в 15:07
  • 3
    Я знаю, что Firefox имеет контейнер для плагинов, поэтому мы можем сделать паузу в том, что с SIGSTOP и Internet все равно должны быть доступны, но как насчет хром? – Sergiy Kolodyazhnyy 30 January 2015 в 15:09
  • 4
    @Serg: приведенные выше "паузы" одна целая хромовая сессия со всем в ней, поэтому вам нужно два: один для продолжения серфинга, в то время как другой приостановлен ... (или нет, в зависимости от варианта использования) ; -) – Fabby 30 January 2015 в 15:30
  • 5
    Как мне получить автоматическое получение PID? это делает это? – Tim 30 January 2015 в 17:17

Другие вопросы по тегам:

Похожие вопросы: