使用chromedriver实现豆瓣网页的全网页截图

Posted zhy128

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用chromedriver实现豆瓣网页的全网页截图相关的知识,希望对你有一定的参考价值。

    最近由于工作需要,需要对部分网站进行全文截屏。在网上搜了很久没有搜出好的方法,而且在新版的selenium中已经不在支持PhantomJS了,所以全文截取变得有点棘手。

    此处给出一个简单的方法,以20行代码实现selenium+chromedriver+python实现豆瓣的全文截取。

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument(--headless)
options.add_argument(--dns-prefetch-disable)
options.add_argument(--no-referrers)
options.add_argument(--disable-gpu)
options.add_argument(--disable-audio)
options.add_argument(--no-sandbox)
options.add_argument(--ignore-certificate-errors)
options.add_argument(--allow-insecure-localhost)

driver = webdriver.Chrome(options=options)
driver.get(http://www.douban.com)
width = driver.execute_script(
        "return Math.max(document.body.scrollWidth, document.body.offsetWidth, document.documentElement.clientWidth, document.documentElement.scrollWidth, document.documentElement.offsetWidth);")
height = driver.execute_script(
        "return Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);")
driver.set_window_size(width + 100, height + 100)
driver.save_screenshot(douban.png)
driver.close()

以下为截屏效果:

技术分享图片

 

以上是关于使用chromedriver实现豆瓣网页的全网页截图的主要内容,如果未能解决你的问题,请参考以下文章

如何以Java实现网页截图技术,根据URL得到网页快照

如何用Python实现网页按钮的自动点击

javascript 网页截图 保存为本地图片

Java实现网页截屏功能(基于phantomJs)

Java实现网页截屏

selenium实现网页截全屏