Python 使用imgkit拍摄网络截图

Python 使用imgkit拍摄网络截图,python,imgkit,Python,Imgkit,我试着用imgkit截图如下 options = { 'width': 1000, 'height': 1000 } imgkit.from_url('https://www.ozbargain.com.au/', 'out1.jpg', options=options) 我得到的是 实际的外观有点不同。这可能是由于javascript没有被执行[这是一个猜测]。你能告诉我怎么用imgkit做这个吗。任何建议的库都会很有帮助。您可以使用它来控制可以运行JavaScript的we

我试着用imgkit截图如下

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

实际的外观有点不同。这可能是由于javascript没有被执行[这是一个猜测]。你能告诉我怎么用imgkit做这个吗。任何建议的库都会很有帮助。

您可以使用它来控制可以运行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()



最终,您可以使用或拍摄完整桌面或桌面上某个区域的屏幕截图。

Selenium可以控制可以运行JavaScript的web浏览器-也许这有助于最终您使用或拍摄完整桌面或桌面上某个区域的屏幕截图