Снимок экрана с помощью imgkit - PullRequest
0 голосов
/ 04 марта 2020

Я пытался сделать снимки экрана с помощью imgkit следующим образом:

options = {
    'width': 1000,
    'height': 1000
}
imgkit.from_url('https://www.ozbargain.com.au/', 'out1.jpg', options=options)

Я получаю enter image description here

Фактический вид немного отличается , Возможно, это связано с тем, что javascript не выполняется [это предположение]. Не могли бы вы рассказать мне, как я могу сделать это с imgkit. Любая предложенная библиотека тоже будет полезна.

1 Ответ

1 голос
/ 04 марта 2020

Вы можете использовать Selenium для управления веб-браузером Chrome или Firefox, который может запускать JavaScript, и браузер имеет функцию делать снимок экрана. Но JavaScript может отображать windows с сообщениями, которые вам, возможно, придется закрыть, используя click() в коде - но вам придется вручную (в DevTools в браузере) найти имя класса, идентификатор или другие значения, которые помогают Selenium кнопка распознавания на странице.

from selenium import webdriver
from time import sleep

#driver = webdriver.Firefox()
driver = webdriver.Chrome()
driver.get('https://www.ozbargain.com.au/')
driver.set_window_size(1000, 1000)
sleep(2)

# close first message
driver.find_element_by_class_name('qc-cmp-button').click()
sleep(1)

# close second message with details
driver.find_element_by_class_name('qc-cmp-button.qc-cmp-save-and-exit').click()
sleep(1)

driver.get_screenshot_as_file("screenshot.png")
#driver.quit()

enter image description here


В конечном итоге вы можете использовать PyAuto GUI или mss чтобы сделать скриншот полного рабочего стола или какого-либо региона на рабочем столе.

...