Python 打印网页为图片(基于edge)

首先,如果你还没有安装Edge WebDriver,可以前往此处下载:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
使用Chrome的话一样的下载, 但是需要科学上网.
然后,确保 WebDriver 的可执行文件在你的 PATH 中,或在你的脚本中指定其路径。
然后,你可以使用 selenium 库来使用 Edge WebDriver。以下是一个简单的脚本,该脚本将访问一个网页并将其保存为图片:
需要安装 selenium

pip install selenium webdriver-manager

执行脚本

from selenium import webdriver
from selenium.webdriver.edge.service import Service
import time
def capture_screenshot(url, save_as="screenshot.png"):
    # 设置 Edge webdriver
    options = webdriver.EdgeOptions()
    options.use_chromium = True     # 告知 webdriver 使用基于Chromium的Edge
    options.headless = True         # 运行浏览器在无头模式下

    # 设置Edge驱动程序的路径,之前下载的
    edge_driver_path = "YOUR_EDGEDRIVER_PATH"

    # 创建Edge驱动程序的服务对象
    service = Service(edge_driver_path)

    # 创建Edge浏览器实例
    driver = webdriver.Edge(service=service,options=options)
    # selenium3 直接这样用, 不用 service
    # driver = webdriver.Edge(executable_path="D:\\App\\edgedriver\\msedgedriver.exe", options=options)

    # 加载网页
    driver.get(url)
    # 等会防止网页没加载完毕
    time.sleep(3)

    # 保存截图
    driver.save_screenshot(save_as)

    # 关闭 webdriver
    driver.quit()

# 使用
capture_screenshot("https://www.baidu.com/", "baidu.png")

请替换 “YOUR_EDGEDRIVER_PATH” 为你的 Edge WebDriver 可执行文件的实际路径。此外,你可以通过改变 “baidu.png” 来改变截图的保存位置和文件名。
这个脚本将会打开 百度 主页并把它保存为 “baidu.png”。
注意:这个脚本可能无法获取到需要滚动才能看到的内容。如果你需要截取这些内容,你可能需要调整窗口的大小或者滚动页面。

你可能感兴趣的:(python,python,开发语言)