赞
踩
- # coding=utf-8
- from selenium import webdriver
- from selenium.webdriver.chrome.options import Options
- import os
- import time
-
- start = time.time()
- def get_image(url, pic_name):
- #chromedriver的路径
- chromedriver = r"C:\Users\Admin\chromedriver_win32\chromedriver.exe"
- os.environ["webdriver.chrome.driver"] = chromedriver
- #设置chrome开启的模式,headless就是无界面模式
- #一定要使用这个模式,不然截不了全页面,只能截到你电脑的高度
- chrome_options = Options()
- chrome_options.add_argument('headless')
- driver = webdriver.Chrome(chromedriver,chrome_options=chrome_options)
- #控制浏览器写入并转到链接
- #这里的url因为我的文件是本地的html所以需要你需要动态的网页你自己编写一下
- driver.get(url)
- # 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.save_screenshot(pic_name)
- driver.close()
-
- #你输入的参数
- path = os.getcwd()
- # 获取所有文件名的列表
- filename_list = os.listdir(path)
- # 获取所有HTML文件名列表
- htmlname_list = [filename for filename in filename_list \
- if filename.endswith(".html")]
- # print(wordname_list)
- for htmlname in htmlname_list :
- # 分离html文件名称和后缀,转化为就jpg名称
- jpgname = os.path.splitext(htmlname )[0] + '.jpg'
- # 如果当前html文件对应的jpg文件存在,则不转化
- if jpgname in filename_list:
- continue
- # 拼接 路径和文件名
- htmlPath = os.path.join(path, htmlname )
- # print(htmlPath)
- pdfpath = os.path.join(path, jpgname )
- get_image(htmlPath, jpgname )
- print('HTML---->jpg转换完成,花费时间:',time.time()-start)

需要安装pip install selenium以及安装selenium插件
我自己安装的路径是这个
chromedriver = r"C:\Users\Admin\chromedriver_win32\chromedriver.exe"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。