最近由于工作需要,需要对部分网站进行全文截屏。在网上搜了很久没有搜出好的方法,而且在新版的selenium中已经不在支持PhantomJS了,所以全文截取变得有点棘手。
此处给出一个简单的方法,以20行代码实现selenium+chromedriver+python实现豆瓣的全文截取。
from selenium import webdriveroptions = 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实现豆瓣网页的全网页截图
原文地址:https://www.cnblogs.com/zhy128/p/10237130.html