Мониторинг процесса загрузки в Chrome

Я пытаюсь взломать скрипт Python для отслеживания текущих загрузок в Chrome и автоматического закрытия моего компьютера после завершения процесса загрузки. Я знаю немного JavaScript и, если необходимо, рассматриваю возможность использования библиотеки PyJs.

1) Это лучший подход? Мне не нужно, чтобы приложение было портативным, просто работало.

2) Как определить процесс загрузки?

3) Как бы вы отслеживали ход загрузки? По-видимому, API Chrome не предоставляет для него определенной функции.

Хороший вопрос, может быть, потому что я могу связать с необходимостью автоматизации закрытия. 😉

Я просто гугл. Существует экспериментальный API, но только для канала dev на данный момент. Я не на канале dev, чтобы попробовать это, поэтому я просто надеюсь, что я укажу вас в правильном направлении.

Один из подходов:

  • Попросите HTTP-сервер Python прослушивать какой-то порт XYZ
  • На расширение добавьте разрешение на URL http://localhost:XYZ/
  • В своем расширении вы можете использовать:

     chrome.downloads.search(query, function (arrayOfDownloadItem){ .. }) 
    • Где запрос является экземпляром DownloadQuery и содержит свойство состояния как in_progress
    • Вероятно, вы можете проверить длину arrayOfDownloadItem .
      • Если его нуль, создайте новый XMLHttpRequest для конечной точки вашего HTTP-сервера, а затем дайте серверу завершить работу вашего компьютера.

НТН