这里写自定义目录标题

  • 使用场景
    • 准备环境
    • 实现逻辑
      • 引入包
      • 截图模块
      • 访问mysql数据库,获取标题和网址
      • 截图并保存为word

使用场景

从mysql数据库中读取需求标题和对应网页传参,提供网页截图,将截图放入word文档中,并添加上对应标题。

准备环境

1、pycharm
2、具备mysql库
3、支持pytharm打开google浏览器(配置chromedriver.exe,可参考[https://blog.csdn.net/xmh1998/article/details/104069592])

实现逻辑

引入包

import time
import win32gui, win32ui, win32con, win32api
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
import pymysql
import random
from docx import Document
from docx.shared import Inches
import shutil
import subprocess
from retrying import retrydef retry_error(exception):time.sleep(20)return isinstance(exception, NameError)# return isinstance(exception, Exception)

截图模块

@retry(retry_on_exception=retry_error, stop_max_attempt_number=3)
def window_capture(filename):hwnd = 0  # 窗口的编号,0号表示当前活跃窗口# 根据窗口句柄获取窗口的设备上下文DC(Divice Context)hwndDC = win32gui.GetWindowDC(hwnd)# 根据窗口的DC获取mfcDCmfcDC = win32ui.CreateDCFromHandle(hwndDC)# mfcDC创建可兼容的DCsaveDC = mfcDC.CreateCompatibleDC()# 创建bigmap准备保存图片saveBitMap = win32ui.CreateBitmap()# 获取监控器信息MoniterDev = win32api.EnumDisplayMonitors(None, None)w = random.randint(1100, 1300)h = random.randint(147, 151)# w = random.randint(1000, 1400)# h = random.randint(280, 290)# print(w,h)# 为bitmap开辟空间saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)# 高度saveDC,将截图保存到saveBitmap中saveDC.SelectObject(saveBitMap)# 截取从左上角(0,0)长宽为(w,h)的图片saveDC.BitBlt((0, -195), (1440, 900), mfcDC, (0, 0), win32con.SRCCOPY)# saveDC.BitBlt((-30, -160), (1440, 900), mfcDC, (0, 0), win32con.SRCCOPY)saveBitMap.SaveBitmapFile(saveDC, filename)

访问mysql数据库,获取标题和网址

def mysql_conn():#链接mysqlconn = pymysql.connect(host='192.168.0.103', port=3306, user='root', passwd='xxxx', db='aaaa')cursor = conn.cursor()cursor.execute("select distinct table_name from biaotou")# conn.commit()tablename = cursor.fetchall()cursor.close()conn.close()print(tablename)listdate = []for row in tablename:listdate.append(row[0])return listdate

截图并保存为word

if __name__ == "__main__":#生成功能点列表listdate=mysql_conn()# 创建浏览器对象chrome_options = Options()# 关闭使用 ChromeDriver 打开浏览器时上部提示语 "Chrome正在受到自动软件的控制"chrome_options.add_argument("disable-infobars")# 打开docx文件document = Document('D:/xxx/aaaa.docx')#循环生成报表链接for aa in listdate:url = str(aa)print(url)#调用浏览器服务driver = webdriver.Chrome()#窗口最大化driver.maximize_window()#打开地址driver.get(url)#因数据显示慢,随眠1秒time.sleep(1)#截图保存window_capture("D:/xxx/"+aa+".jpg")#退出浏览器driver.quit()#创建新段落pl = document.add_paragraph()#添加标题document.add_heading(aa, level = 2)#添加正文# run1 = pl.add_run('xxxx' )# run1.font.name = '微软雅黑'# run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')# run1.font.size = Pt(21)# 是否加粗# run1.font.bold = True#想docx中插入图片document.add_picture("D:/xxx/"+aa+".jpg", width=Inches(6))pl = document.add_paragraph()document.save("D:/xxx/aaaa.docx")

网页截图并自动放入word文档【python】相关推荐

  1. Python实现识别html文本内容并截图放入word文档

    需求: excel文件中存放了很多html标签文本,需要把文本内容在浏览器中打开将内容截图,放入doc文档保存. 手动过程 需要逐条手动处理 1. 从excel表格中复制标签文本内容 <div& ...

  2. Java将图片放入word文档中

    1.引入依赖包(maven项目) <!-- https://mvnrepository.com/artifact/itext/itext --><!--将照片写入word文档中的依赖 ...

  3. Java实现数据自动填充到WORD文档并下载

    模拟业务场景:假设有一个OA系统,员工在里面填了请假申请,填好后可以通过下载自动生成一个word文档的请假条.比如数据表有姓名,请假原因,时间等字段,将这些字段填充到一个word模板中. 1. 准备w ...

  4. python-docxtpl妙用:论文神器,excel习题集自动转换成word文档格式!

    python-docxtpl妙用:论文神器,excel习题集自动转换成word文档格式! 第三方库 # pandas数据处理 import pandas as pd# word文档处理库 from d ...

  5. OpenXml编程--去除自动生成的word文档中由分页符和换行符产生的空白页

    前言 前置知识:OpenXml 首先描述下问题产生的场景.我们的业务需求是根据用户的在线作答(或导入的作答结果)数据批量产生报告.产生报告的方式是把通过工作流控制的复杂业务逻辑的产出--分析结果--和 ...

  6. python 自动生成word文档,python实现的生成word文档功能示例

    python实现的生成word文档功能示例 发布时间:2020-09-23 11:37:44 来源:脚本之家 阅读:108 作者:zhizunyu2009 本文实例讲述了python实现的生成word ...

  7. python request下载word,下载word文档python

    对于我的课程,我必须建立一个网络刮板,它可以浏览img,word文档和pdf的网站并将它们下载到一个文件中,我有img的下载工作,但当我将代码改为下载docs或pdf时,它根本找不到任何东西,我使用b ...

  8. python操作word文档-python操作word

    1.Python写word文档 要操作word文档首先需要安装python-docx库: pip install python-docx 然后导入docx模块,或者从docx模块中导入Document ...

  9. 如何美观的把SPSS统计结果复制粘贴到Word文档中?

    我们用SPSS做统计分析后,通常会摘取一部分结果放入Word文档中,比如你写科研论文,会把方差分析表.误差条形图这些结果粘贴到Word文档中进行统一编辑. 文字.表格.图形的组合,这是Word基本操作 ...

最新文章

  1. android用户界面设计:基本按钮,Android用戶界面設計:基本按鈕
  2. .NET疯狂架构经验分享系列之(七)WCF支持(转)
  3. iOS 13 真机调试包
  4. mysql合并统计总数,mysql统计多表交织组合总数
  5. Android.View.InflateException: Binary XML File Line #异常的解决
  6. LAMP的部署(一)
  7. windows10中如何在d盘新建kaoshi.log文件_命令行备份Windows 10驱动amp;设备管理器中安装驱动。...
  8. c语言程序设计书张成叔万芳,TP312C-C语言程序设计 张成叔.pdf
  9. 感受晋味新年俗 你的高铁票可享景区门票优惠
  10. python测试开发实战_自动化平台测试开发:Python测试开发实战
  11. 笔记本“电源已接通,未充电”的解决办法 win7
  12. labelme json转换为coco json 格式 包含area面积
  13. python入门爬取表情包
  14. 计算机网络冲刺串讲,计算机应用基础串讲冲刺讲义(二)
  15. 如何15分钟快速入门LaTeX公式?
  16. iOS马甲包系统性全流程把控
  17. MNE学习笔记(四):Evoked数据结构
  18. 外卖小程序现在还能不能做,类似社区团购系统
  19. 开始VT-x各种电脑进入BIOS界面按什么?
  20. 接口测试平台代码实现10:菜单页面升级

热门文章

  1. 计算机文化基础课精品课程资源,计算机文化基础 - 精品课程平台-兰州理工大学.ppt...
  2. ssh 隧道 mysql_通过ssh隧道访问mysql(转载)
  3. 2.编程实现基本遗传算法:对二元函数 f(x,y)=21.5+xsin(4πx)+ysin(20πy)
  4. HDU - 6169 Senior PanⅡ(dp+数论)
  5. Qtum量子链关键技术解读
  6. 第十五届全国大学生智能车智能车竞赛国赛电子证书制作
  7. Wix Candle Light Dark
  8. 第十八章 组织级项目管理
  9. jquery如何去掉css,jQuery教程之jQuery去掉一个CSS属性
  10. ant入门指南—web前端开发七武器(1)