使用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()

以下为截屏效果:

 

posted @ 2019-01-08 09:33  QuiryRain  阅读(1160)  评论(0编辑  收藏  举报