gom*_*ena 3 javascript python selenium python-3.x selenium-webdriver
我正在尝试从给定的 URL 中截取屏幕截图。在 javascript 中尝试过 html2canvas 库,由于它不支持某些 CSS 格式而放弃。现在尝试使用 python 和 selenium 或任何其他库(如果可能)捕获给定 URL 的屏幕截图。
我已经经历了以前的解决方案,我面临的是,
1.pyqt4 - 即使在安装 pyqt4 后,也不会出现名为“PyQt4.QtWebKit”的模块错误
2.selenium - 不截取整个页面滚动截图的代码。
3.phantom.js - 为某些网站提供浮点转储错误
硒的示例代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--headless") # Runs Chrome in headless mode.
options.add_argument('--no-sandbox') # # Bypass OS security model
options.add_argument('start-maximized')
options.add_argument('disable-infobars')
options.add_argument("--disable-extensions")
driver = webdriver.Chrome(chrome_options=options, executable_path='./chromedriver')
driver.get('/sf/ask/3570062961/')
driver.save_screenshot('screenshot-headless.png')
driver.quit()
Run Code Online (Sandbox Code Playgroud)
环境:
操作系统:ubuntu 18.04
蟒蛇:3.6
预期输出:(任何一个)
1.捕获的图像的Dataurl
2.Captured图像(通过滚动)
我的代码有什么问题?有没有其他选择?
您是否尝试使用 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('/sf/ask/3570062961/')
await page.screenshot({'path': 'screen.png', 'fullPage': True})
await browser.close()
asyncio.get_event_loop().run_until_complete(main())
Run Code Online (Sandbox Code Playgroud)
编辑
https://github.com/miyakogi/pyppeteer未维护。新项目:https : //github.com/pyppeteer/pyppeteer
| 归档时间: |
|
| 查看次数: |
1196 次 |
| 最近记录: |