6行Python代码实现网页截图

    最近在工作上有个业务场景需要对网页进行批量截图,经过一番调研我最后使用Python+selenium的方案实现了全流程的自动化,今天就来和大家分享下通过Python实现网页截图的核心方法。

 

【1-思路】
    首先先问大家一个问题:网页截图需要几步?
    答案很简单,想象我们现在手动截图一个网页:
        第一步:打开浏览器
        第二步:打开想要截图的网页
        第三步:用工具截图
        第四步:关闭浏览器
    按照这个步骤,只要我们能用程序来模拟这个过程就可以实现自动化的截图了。
6行Python代码实现网页截图
【2-准备】
    那怎么才能用程序来模拟对浏览器的操作呢?这里需要准备两个工具。
    第一个工具是selenium,它是一个web 的自动化测试工具,在cmd中使用下面的命令即可完成selenium库的安装。
pip install selenium

6行Python代码实现网页截图
    第二个工具是webdriver,从下图可以看出,selenium是通过webdriver来对浏览器进行控制的。大家可以从网上下载和自己浏览器对应的webdriver,下载时要注意版本的对应。

6行Python代码实现网页截图

主流浏览器的webdriver下载地址如下:
chrom浏览器:
    http://npm.taobao.org/mirrors/chromedriver/
firefox浏览器:
    https://github.com/mozilla/geckodriver/releases
IE浏览器:
    http://selenium-release.storage.cat.net/index.html
Safari浏览器:
    https://webkit.org/blog/6900/webdriver-support-in-safari-10/
【3-实现】
    下面让我们来看一下以谷歌浏览器为例,对Python官网进行截图的代码。
# 从selenium库引入webdriver模块
from selenium import webdriver
# 通过webdriver打开浏览器
driver = webdriver.Chrome("D:/chromedriver.exe")
# 窗口最大化
driver.maximize_window()
# 打开网页
driver.get("https://www.python.org/")
# 网页截图
driver.get_screenshot_as_file("D:/output.png")
# 关闭浏览器
driver.quit()

    可以看到代码简单到只用6行就结束了,截图效果如下所示:
6行Python代码实现网页截图
【4-总结】
    今天和大家介绍了使用Python对网页的基本逻辑,在实际的应用中还会很多扩展的地方,比如长网页的截图、linux环境上要加额外的参数等,欢迎大家评论区讨论交流。
————————————————————
长按识别下方二维码,并关注公众号,在后台回复:HYBG,即可获取2019年200份行业分析报告(共1.01G)的下载链接。
6行Python代码实现网页截图
THE END
分享
二维码
海报
6行Python代码实现网页截图
    最近在工作上有个业务场景需要对网页进行批量截图,经过一番调研我最后使用Python+selenium的方案实现了全流程的自动化,今天就来和大家分享下通过Python……
<<上一篇
下一篇>>