我正在尝试从给定的URL截屏。在javascript中尝试了html2canvas库,因为它不支持某些CSS格式,所以将其删除。现在尝试使用python和selenium或任何其他库来捕获给定URL的屏幕截图。
我已经经历了以前的解决方案,而我面临的是
1.pyqt4 -即使安装pyqt4后,也不会遇到名为“ PyQt4.QtWebKit”的模块错误。
2.selenium -该代码未获取整个页面滚动的屏幕截图。
3.phantom.js -提供某些网站的浮点转储错误
硒的示例代码:
htmlwidgets::saveWidget(as_widget(p), file = "x.html")
环境:
操作系统:ubuntu 18.04
python:3.6
预期输出:(任何人)
1。捕获图像的数据URL
2。捕获的图像(滚动显示)
我的代码有什么问题?有其他选择吗?
答案 0 :(得分:3)
您尝试使用Pyppeteer https://github.com/miyakogi/pyppeteer吗?
使用fullPage
参数可以截取整个页面的屏幕截图。
import asyncio
from pyppeteer import launch
async def main():
browser = await launch(headless=True)
page = await browser.newPage()
await page.goto('https://stackoverflow.com/questions/51000899/better-way-to-take-screenshot-of-a-url-in-python')
await page.screenshot({'path': 'screen.png', 'fullPage': True})
await browser.close()
asyncio.get_event_loop().run_until_complete(main())