Python Selenium 网页长截图/HTML 转 PDF

当一件事情使用各种方法都不得其解时,不如换种思路。比如HTML直接转为PDF,涉及的安装包wkhtmltopdf各种报错各种搜索都无法解决后,那不如网页直接截图为图片格式,况且图片也可以转为PDF~。

(HTML直接转为PDF折腾了3天,网页直接截图为图片格式折腾俩小时,感谢网友分享!!)

转自:python+selenium 把整个网页截图 长截图_python selenium 长网页截图-CSDN博客

链接:https://blog.csdn.net/yutu75/article/details/115524985

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def get_image(url, pic_name):
    """
    #设置chrome开启的模式,headless就是无界面模式
    # 创建一个参数对象,用来控制chrome以无界面模式打开
    :param url:             获取获取网页的地址
    :param pic_name:        需要保存的文件名或路径+文件名
    :return:
    """
    chrome_options = Options()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')
    # 创建浏览器对象
    driver = webdriver.Chrome(executable_path='./chromedriver', chrome_options=chrome_options)

    # 打开网页
    driver.get(url)
    # driver.maximize_window()
    # 加延时 防止未加载完就截图
    time.sleep(1)

    # 用js获取页面的宽高,如果有其他需要用js的部分也可以用这个方法
    width = driver.execute_script("return document.documentElement.scrollWidth")

    height = driver.execute_script("return document.documentElement.scrollHeight")

    # 获取页面宽度及其宽度
    print(width,height)

    # 将浏览器的宽高设置成刚刚获取的宽高
    driver.set_window_size(width, height)

    time.sleep(1)

    # 截图并关掉浏览器
    driver.get_screenshot_as_file(pic_name)

    driver.quit()


# 你输入的参数
url_str = 'http://www.cq.gov.cn'

pic_name = r'qwq.png'

get_image(url_str, pic_name)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值