CSS自动脚本项目

CSS自动脚本项目

#-- coding: utf-8 --
import requests
from PIL import Image
#import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import time
from selenium.webdriver.support.ui import WebDriverWait
#from selenium.webdriver.common.by import By
#from selenium.webdriver.support import expected_conditions as EC
from pptx import Presentation
from pptx.util import Inches
#import sys
#from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import ElementClickInterceptedException
prs=Presentation(“D:/XXX/XXX/October/XXXNetworkMonthlyServiceReport-muban.pptx”) #模板文件
chrome_options = Options() #浏览器设置选项
#chrome_options.add_argument("–headless") #无头模式
base_url =“https://css.nova.net.cn/” #登录页面
driver = webdriver.Chrome(executable_path=(r’D:/chromedriver.exe’),chrome_options=chrome_options) #浏览器路径和设置
driver.get(base_url)
time.sleep(3)
#driver.find_element_by_name(“username”).send_keys(“selenium webdriver”)
#driver.find_element_by_id(“normal_login_username”).send_keys(“") #填写账号密码
driver.find_elements_by_class_name(“el-input__inner”)[0].send_keys("
")
#driver.find_element_by_id(“normal_login_password”).send_keys("********")
driver.find_elements_by_class_name(“el-input__inner”)[1].send_keys("
***”)
driver.find_element_by_class_name(“el-button–primary”).click() #单击登录按钮
#time.sleep(5)
##scrs=“https://css.nova.net.cn/monitoring/charts/4496/10109”
#base_url =“https://css.nova.net.cn/monitoring/”
#driver.get(base_url)
time.sleep(1)
driver.implicitly_wait(5) # 设置页面等待时间(用于try循环)

前端生成截图

def click_tab_try():
try:
time.sleep(2)
driver.find_element_by_id(“tab-monthly”).click()
except BaseException as e:
driver.refresh()
print(“Now is start tab-monthly,backup order!”)
click_tab_try()
def click_el_try():
try:
time.sleep(2)
driver.find_element_by_class_name(“el-range-input”).click()
except BaseException as e:
driver.refresh()
print(“Now is start el-range-input,backup order!”)
click_el_try()
def screenshot(scrs):
driver.get(scrs)
time.sleep(2)
driver.maximize_window() #浏览器窗口最大化
click_tab_try()
click_el_try()
time.sleep(2)
driver.find_elements_by_class_name(“el-picker-panel__shortcut”)[2].click() #单击“上月”

time.sleep(2)
js = "window.scrollTo(100,270);"                                                               #调用js命令调整滚动条到合适位置
driver.execute_script(js)
print("scroll is done!")
time.sleep(1)
driver.save_screenshot('lupaus.png')                                                           #截图
left = 480
top = 180
right = 1800
bottom = 810
im = Image.open('lupaus.png')
im = im.crop((left, top, right, bottom))                                                       #修改截图尺寸
im.save('Chart.png')

###后端按次序将截图插入PPT
def post_pic(pages):
print(“the post_pic pages is:”,pages)
slide = prs.slides[pages]
shapes=slide.shapes
left = Inches(0.5)
top=Inches(1.9)
width =Inches(7.6)
height=Inches(3.0)
#shape=shapes.add_shape(“D:\python\study\venv\Scripts\lupaus_scripts\lupaus1.png”, left, top, width, height)
shape=shapes.add_picture(“Chart.png”,left, top, width, height )
pages=31
for scrs in open(“url.txt”): #读取URL列表
print(“pages is:”,pages)
print(scrs)
screenshot(scrs);time.sleep(2)
post_pic(pages)
print(“pages”,pages,“is done!”)
prs.save(“auto.pptx”)
pages+=1
print(“All is Done!”)
driver.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值