使用imgkit拍摄网络截图

问题描述 投票:0回答:1

我正尝试使用imgkit如下截图,

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

我得到的是enter image description here

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

python imgkit
1个回答
0
投票

您可以使用Selenium控制可运行JavaScript的网络浏览器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()

enter image description here


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

© www.soinside.com 2019 - 2024. All rights reserved.