0

我试图使用 imgkit 截屏如下,

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

我得到的是在此处输入图像描述

实际外观有点不同。这可能是由于没有执行 javascript [这是一个猜测]。您能否告诉我如何使用 imgkit 做到这一点。任何建议的库也会有所帮助。

4

1 回答 1

1

您可以使用Selenium来控制可以运行 JavaScript 的 Web 浏览器 Chrome 或 Firefox,并且浏览器具有截屏功能。但是 JavaScript 可能会显示带有消息的窗口,您可能需要click()在代码中关闭这些消息 - 但您必须手动(DevTools在浏览器中)查找类名、id 或其他有助于 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()

在此处输入图像描述


最终,您可以使用PyAutoGUImss截取整个桌面或桌面上某些区域的屏幕截图。

于 2020-03-04T06:23:02.647 回答