是否可以在python中直接将网页呈现为图像?

是否可以在python中直接将网页呈现为图像?,python,selenium-webdriver,Python,Selenium Webdriver,现在我使用selenium将网页保存到图像 from selenium import webdriver browser = webdriver.Firefox() browser.get("some url") browser.save_screenshot(img) browser.quit() 但有一个问题是,每次它都会弹出一个窗口 有没有任何方法可以直接将图像渲染到图像?我在找到了一个解决方法 它在linux中运行良好 from pyvirtualdisplay import Disp

现在我使用selenium将网页保存到图像

from selenium import webdriver
browser = webdriver.Firefox()
browser.get("some url")
browser.save_screenshot(img)
browser.quit()
但有一个问题是,每次它都会弹出一个窗口

有没有任何方法可以直接将图像渲染到图像?

我在找到了一个解决方法

它在linux中运行良好

from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox()
browser.get("some url")
browser.save_screenshot(img)
browser.quit()
display.stop()

您可以使用
phantomjs


在这里,您可以找到一个很好的教程:

如果您使用Linux/Unix,并且您很勇敢,您可以尝试使用X11服务器运行web浏览器,该服务器在内存中渲染图像而不显示图像。Firefox的渲染引擎Gecko实际上可以用于“屏幕外”渲染到缓冲区。但是尝试从Python与Gecko接口,尤其是在5.0之后,Gecko不再支持Gecko嵌入,并且从未完成过示例之后,是一场噩梦。您可以编写一个XUL/JS应用程序,在Firefox/XULRunner中运行,然后用Python编写脚本。另一个选择是使用Qt-webkit绑定:谢谢大家,我找到了一个解决方案,@AndreHolzner提到,@camino它真的像预期的那样工作了吗?请让我们知道。