Снимок экрана Python для каждой вкладки - PullRequest
0 голосов
/ 10 июня 2018

Проблема: Я хочу написать скрипт Python, который будет делать скриншот веб-сайта, который я открывал в браузере при каждой загрузке.

Дело в том, что у меня естьвеб-сайт, где есть около 300 экзаменационных вопросов, которые я могу пройти, попробуйте ответить на каждый из них, и я внесу исправление, когда отправлю свой ответ.У меня не будет доступа к этой анкете после определенной даты, но я хочу сохранить вопросы (которые я мог бы записать, но лень во мне сильна и я хочу изучать Python).

«Попытка»: Я подумал о создании простого скрипта Python с imgkit для создания снимков экрана.Я открыт для других предложений, так как imgkit был первым, что я увидел, когда искал это, и код кажется мне простым и понятным:

import imgkit

imgkit.from_url('http://webpage.com', 'out.jpg')

Но я должен предоставить URL для каждой веб-страницыи это будет более утомительно, чем снимать скриншот с функциями ОС, поэтому я хочу автоматизировать его.

Вопросы:

  • Есть способсделать Python monitor вкладкой браузера и делать скриншот каждый раз, когда он перезагружается (это будет, когда появляется новый вопрос)?
  • Или, возможно, получить URL-адрес вкладки, чтобы передать его imgkit исделайте снимок экрана.
  • Еще одна вещь, которую я увидел, это то, что imgkit может генерировать «снимок экрана» из файла HTML.Может ли Python загрузить HTML-код из вкладки, которую я открыл в своем браузере?

1 Ответ

0 голосов
/ 10 июня 2018

Селен ваш друг здесь.Это фреймворк, предназначенный для тестирования, но он действительно сделает то, что вам нужно.

Selenium позволяет вам раскручивать веб-браузер и управлять им.Таким образом, вы можете поручить ему перейти на веб-адрес, который вы хотите, а затем делать вещи.Как правило, вы можете указать здесь, щелкнуть здесь, написать в форме и т. Д.

В вашем случае вы хотите, чтобы он открывал только определенный адрес, делал снимок экрана, переходил по следующему адресу и повторял.

Здесь у вас есть учебник о том, как делать именно то, что вы хотите.

Конкретный код:

from selenium import webdriver

#1. Get the driver to manage the web-browser you choose
driver = webdriver.Chrome()

#2. Go the the webadress you want
driver.get('https://python.org')

#3. Take a screenshot
driver.save_screenshot("screenshot.png")

driver.close()

PS: для обучениядля запуска вам потребуется установить веб-драйвер для Selenium, чтобы он мог раскручиваться и запускать Chrome. Здесь - инструкции для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...