Python selenium操作浏览器全屏截图

最近碰到一个问题,需求是把做好的报告发到领导邮箱(只能发邮箱,不接受邮箱链接等方式),大家都知道outlook对js是不支持的,只支持最简单的html样式,最后选定的方法是截图,但是报告可能很长啊,怎么能一次性全截下来呢,请大家往下看

首先本次实现是用的python3.6+selenium+chrome,python的安装和python库的安装就不多说了。用代码控制chrome的时候需要下一个driver,下载地址:http://chromedriver.storage.googleapis.com/index.html

下载之前要注意看看你电脑上装的chrome版本号,把下好的driver放到跟chrome.exe一个文件夹就行了

接下来直接上代码

# -*- coding: utf-8 -*-

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

import os

import time

def get_image(url, pic_name):

#chromedriver的路径

chromedriver = r"C:\Users\name\AppData\Local\Google\Chrome\Application\chromedriver.exe"

os.environ["webdriver.chrome.driver"] = chromedriver

#设置chrome开启的模式,headless就是无界面模式

#一定要使用这个模式,不然截不了全页面,只能截到你电脑的高度

chrome_options = Options()

chrome_options.add_argument('headless')

driver = webdriver.Chrome(chromedriver,chrome_options=chrome_options)

#控制浏览器写入并转到链接

driver.get(url)

time.sleep(1)

#接下来是全屏的关键,用js获取页面的宽高,如果有其他需要用js的部分也可以用这个方法

width = driver.execute_script("return document.documentElement.scrollWidth")

height = driver.execute_script("return document.documentElement.scrollHeight")

print(width,height)

#将浏览器的宽高设置成刚刚获取的宽高

driver.set_window_size(width, height)

time.sleep(1)

#截图并关掉浏览器

driver.save_screenshot(pic_name)

driver.close()

#你输入的参数

url = 'https://movie.douban.com/top250'

pic_name = r'D:\image.png'

get_image(url, pic_name)

很简单的几行代码,随意截任何网站的图片,通过这个方式也可以截网页任意部位的图,怎么样你学会了吗?觉得有用的话点赞关注哟

python如何截长图_python+selenium实现长截图相关推荐

  1. 怎么将PPT转换成一个长图,PPT转长图教程

    ppt是我们经常用到的一种文档格式,有时候我们需要将ppt成JPG和png格式的长图,那么大家知道怎么样才能将ppt转JPG和png格式的长图呢?其实步骤很简单,无需下载任何转换软件,在线即可轻松转换 ...

  2. python实现图片拼接长图_Python 拼接多张尺寸大小不一样的图片制作长图

    from os import listdir from PIL import Image # 获取当前文件夹下所以图片 ims = [Image.open('../images/%s' % fn) f ...

  3. python画k线图_python画k线图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import datetime import pandas_datareader ...

  4. 【基础知识】截长图的方法以及防止截图时下拉框自动收回的方法

    截长图的方法: 博主之前使用的tim,不具备截长图的功能,之后百度了很多的方法,最后发现QQ的截长图功能最好用,很不解,tim不应该是偏向于办公吗,这种功能竟然还能阉割? 使用工具:QQ最新版 使用方 ...

  5. python怎么变成动图_python可以做动图吗

    ImageMagick 是一套功能强大.稳定而且开源的工具集和开发包,可以用来读.写和处理超过200种基本格式的图片文件,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,P ...

  6. python matplotlib 画滚动图_Python下matplotlib常见图形绘制

    Matplotlib 是 Python 的一个2D绘图库,可以帮助我们绘制各种图形,下面介绍一些最常见的数学图形绘制方法. 1.直线图 importnumpy as npimportmatplotli ...

  7. python画k线图_Python绘制K线图

    不管是对量化分析师还是普通的投资者来说,K线图(蜡烛图)都是一种很经典.很重要的工具.在K线图中,它会绘制每天的最高价.最低价.开盘价和收盘价,这对于我们理解股票的趋势以及每天的多空对比很有帮助. 一 ...

  8. ih5长图如何滑动_长图怎么一键截取?这样做很简单

    不管工作还是日常交流中,往往需要用到截图来进行更加详细的描述,甚至有时需用截取多张截图.截图这种常规操作,这里就不多说了,今天要分享的是如何截取长图,例如下面这个样子! ↑↓上下滑动试试 下面跟大家分 ...

  9. android 加载大长图,android加载长图片的方法

    1.很多应用都有加载一张长图片,用户可以上下拉动图片. 自己没有好的想法,那只好百度咯.结果都说用webview来实现,好吧那就只好先试一下了. 2.自己写了简单的html,然后webview加载.图 ...

  10. android 照片拼接长图_长图拼接app下载 长图拼接制作 for Android v2.6.1 安卓版 下载-脚本之家...

    长图拼接制作app是一款操作很方便的长截图拼接软件.长图拼接app能够支持对截图进行裁剪和编辑,长图拼接制作app还有多种拼接模板和框架供大家选择,有需要的用户赶快下载体验吧! 软件介绍 长图拼接制作 ...

最新文章

  1. SCOI2009 最长距离
  2. 2022-2028年中国车载充电机行业深度调研及投资前景预测报告
  3. c# 给文件/文件夹 管理用户权限
  4. kubernetes mysql pxc_K8S使用operator部署和管理Percona - PXC集群
  5. Antlr中文文档初稿2(《ANTLR树分析器》)
  6. sublime基本命令和使用
  7. python 字符串子串_Python字符串子字符串
  8. jQuery -- 光阴似箭(三):jQuery 操作 HTML 元素和属性
  9. 黑莓手机使用手册【转】
  10. 《沃顿商学院谈判课》读书笔记
  11. uint8_t范围_uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了...
  12. 2022盘点工作室常用的API数据接口开发平台
  13. 计算机专业学生如何做项目,计算机专业学生如何申请科研项目?
  14. excel单元格内容拆分_自学EXCEL小技巧003→单元格内容拆分
  15. 个人工作SQL整理(大佬勿进)
  16. java单根结构_对象导论:单根继承结构
  17. Between Worlds 3 太阳与地球
  18. 【业务安全-03】业务逻辑漏洞之暴力破解(Burte Force)
  19. Java——MVC框架
  20. 【JAVA】-- 期末考试复习题含答案(每章对应题、选择、填空、简答、编程)(下)

热门文章

  1. 通信原理 | 信道特性及其数学模型
  2. linux服务器怎么安装证书,linux服务器证书安装指引
  3. 安卓java游戏模拟器_Java手机游戏模拟器
  4. php session超时设置,php如何设置session超时过期时间
  5. jstl版本的jar下载?
  6. silverlight读取mysql_silverlight访问数据库
  7. Unity3D游戏开发之Unity3D场景编辑器扩展开发
  8. 用英伟达 DIGITS 进行图像分割
  9. 视觉SLAM十四讲学习1 环境配置
  10. 机器人启示录 百度影音_斯皮尔伯格筹备新作 《机器人启示录》有望启动