背景描述
最近在为部门编写一个自动化对比工具,涉及到将html截图。 之前从未接触过页面自动截图,因此尝试了几种不同方案。
编程语言 python 3.6
1、实现自动预览html并截图有以下几个步骤
2、功能实现
import webbrowser
from PIL import ImageGrab
# 默认浏览器打开
#webbrowser.open_new(url)
# 使用 safari 打开
#webbrowser.get('safari').open_new(url)
# 在浏览器中用新标签打开
#webbrowser.open_new_tab(url)
# 在Safari中新建标签并打开
#webbrowser.get('safari').open_new_tab(url)
webbrowser.open(url,new=0,autoraise=True)
im = ImageGrab.grab()
im.save("","jpeg")
3、缺点
1、准备
warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless ’
2、功能实现
from selenium import webdriver
# 使用webdirver.PhantomJS()方法新建一个phantomjs的对象
# 此处添加phantomjs.exe的路径,否则会报错
brower = webdriver.PhantomJS(executable_path="/data/phantomjs-2.1.1-linux-x86_64/bin/phantomjs")
brower.get("http://phantomjs.org/download.html")
brower.maximize_window()
brower.viewportSize={'width':1024,'height':800}
brower.save_screenshot(“/data/phantomjs.png”)
brower.quit()
3、优缺点
优点:后台操作不需打开浏览器,用户不会通过误操作对工具产生影响
缺点:速度慢
1、准备
2、功能实现
from selenium import webdriver
brower = webdriver.Chrome()
brower.get("https://www.google.com/")
brower.maximize_window()
brower.save_screenshot("/data/google.png")
brower.quit()
3、优缺点
优点:速度快
缺点:需要打开浏览器