最近对于python的第三方库pandas比较有兴趣,在学习的过程中也简单的结合selenium做了一个简单的小工具

  最新公司用一个外部系统来记录,追踪BUG,可是这个系统并不是专业的BUG管理系统,所以对于数据筛选,查看不是很友好。无法满足日常需求,所以就只能自己来倒腾一下了.这里只是实现了很简单的小功能,我需要得出每天关闭BUG的数量 (暂时没有做界面,也没有封装成exe)

主要用的定位方法为xpath,只是用到了很皮毛的程度,这个pandas工具对于数据处理的方面还是比较强大的,后续可以做更多的数据分析方面的练习

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from selenium import webdriver
import datetime,time
import pandas as pd
import os 
path =r""
url=""
dt = datetime.datetime.strptime(datetime.datetime.now().strftime("%Y-%m-%d"), "%Y-%m-%d")
dt=dt.strftime('%Y-%m-%d %H:%M:%S') #获取当前凌晨的时间后,将其转换为'str'
 #判断下载路径下是否存在之前下载的文件,有的话删除
def check_file():
    for root,dirs,files in os.walk(path): 
        for name in files:
            if name.startswith('_itServiceItsuesList_'):
                os.remove(os.path.join(root,name))
                print("Delete File:"+os.path.join(root,name))
            else:
                pass
#登录
def login(url): 
    drvier.get(url)
    time.sleep(1)
    drvier.find_element_by_id('loginid').click()
    time.sleep(1)
    drvier.find_element_by_id('loginid').send_keys("")
    time.sleep(1)
    drvier.find_element_by_id('userpassword').click()
    drvier.find_element_by_id('userpassword').send_keys("")
    time.sleep(1)
    drvier.find_element_by_id('login').submit()
    time.sleep(3)
    return drvier
#去掉指定的位置,按照一定的规则筛选数据,导出excel
def IT():
    driver=login(url)   
    driver.find_element_by_link_text(u'服务台').click()
    driver.find_element_by_link_text(u'待办问题').click()
    fr=driver.find_element_by_xpath('//*[@id="mainframe"]')
    driver.switch_to.frame(fr)
    driver.find_element_by_xpath('//*[@id="shortcut$text"]').click()
    driver.find_element_by_xpath('//*[@id="mini-25$1"]/td[2]').click() #由我创建
    driver.find_element_by_xpath('//*[@id="type"]/span/span/span[2]/span').click() #事件状态
    time.sleep(2)
    driver.find_element_by_xpath('//*[@id="mini-7$ck$14"]').click() #关闭
    #driver.find_element_by_xpath('//*[@id="mini-7$ck$all"]').click() #全选
    driver.find_element_by_xpath('//*[@id="type"]/span/span/span[2]/span').click()
    driver.find_element_by_xpath('//*[@id="a1"]/span').click() #查询
    driver.find_element_by_xpath('//*[@id="queryForm"]/div/table[5]/tbody/tr/td[1]/a[2]/span').click() #导出excel
    time.sleep(3)   #
    driver.find_element_by_xpath('//*[@id="winSearch"]/div/div[2]/div[3]/div/a[1]/span').click() #导出按钮
    time.sleep(8)  #等待下载完成
    driver.close()
def analysics():
    name=[n for n in os.listdir(path) if n.startswith('_itServiceItsuesList_')]  #获取已XX文件命名的文件
    root=os.path.join(path,name)
    df=pd.read_excel(root)
    data=df.shape   # 获取总行与总列数 (行,列)
    data_rows=data[0] #获取总行数
    for row in range(data_rows):
        str_=str((df.loc[row])[72])
        if str_!='nan':
            if str_>dt:
                #print((df.loc[row])[72])
            else:
                pass
        else:
            pass
    print(count)
    return count
def main():
    check_file() 
    drvier=webdriver.Chrome()
    drvier.maximize_window()
    drvier.implicitly_wait(5)  #设置隐性等待时间
    IT()
    analysics()
if __name__=='__main__':
    main()

  

  

练习4-python+selenium+pandas的更多相关文章

  1. Python+Selenium爬取动态加载页面(2)

    注: 上一篇<Python+Selenium爬取动态加载页面(1)>讲了基本地如何获取动态页面的数据,这里再讲一个稍微复杂一点的数据获取全国水雨情网.数据的获取过程跟人手动获取过程类似,所 ...

  2. Python+Selenium爬取动态加载页面(1)

    注: 最近有一小任务,需要收集水质和水雨信息,找了两个网站:国家地表水水质自动监测实时数据发布系统和全国水雨情网.由于这两个网站的数据都是动态加载出来的,所以我用了Selenium来完成我的数据获取. ...

  3. python+selenium 浏览器的问题

    以前用selenium调用firefox是不需要驱动的,最近安装了python3.52+最新的firefox 发现调不起来了 搜索以后发现Firefox 47+需要搞个firefox的驱动 gecko ...

  4. 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试

    Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动 ...

  5. Python + Selenium 实现登录Office 365

    最近捡起之前用的Python + Selenium实现工作中需要的登录Office 365功能.(吐槽:国内网络真是卡,登录Office 365实属不易.另外Selenium这样的网站都要墙,无法理解 ...

  6. python+selenium+Robot

    准备工作: 1.下载python2.7 http://python.org/getit/ 2.下载下载setuptools [python 的基础包工具] 可以帮助我们轻松的下载,构建,安装,升级,卸 ...

  7. python+selenium运行报错UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

    使用python+selenium运行自动化脚本时,打印某一段文字出现UnicodeEncodeError: 'ascii' codec can't encode characters in posi ...

  8. Functional testing - python, selenium and django

    Functional testing  - python selenium django - Source Code : from selenium import webdriverfrom sele ...

  9. python selenium自动化(二)自动化注册流程

    需求:使用python selenium来自动测试一个网站注册的流程. 假设这个网站的注册流程分为三步,需要提供比较多的信息: 在这个流程里面,需要用户填入信息.在下拉菜单中选择.选择单选的radio ...

  10. 使用python selenium进行自动化functional test

    Why Automation Testing 现在似乎大家都一致认同一个项目应该有足够多的测试来保证功能的正常运作,而且这些此处的‘测试’特指自动化测试:并且大多数人会认为如果还有哪个项目依然采用人工 ...

随机推荐

  1. 使用idea实现SSM框架整合

    SM框架整合 1      使用idea创建一个maven webapp项目 到此为止项目初步建立,需要等待maven对项目结构进行组织,直到状态栏的进度条完成,且项目的目录结构如下: 2      ...

  2. 006-(成功环境记录)基于Centos7系统部署cobbler批量安装系统

    1.1 cobbler简介 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等. Cobbler可以使 ...

  3. 2Ubuntu学习

    1.设置Ubuntu系统的英文设置成中文 2.root用户密码设置 3.

  4. Educational Codeforces Round 68 (Rated for Div. 2) D. 1-2-K Game (博弈, sg函数,规律)

    D. 1-2-K Game time limit per test2 seconds memory limit per test256 megabytes inputstandard input ou ...

  5. strptime strftime时间函数总结

    time(2) #include <time.h> time_t time(time_t *timep);//获取当前时间距离1970-01-01 00:00:00  经历的秒数 p = ...

  6. 安装suds,提示No module named 'client'

    最近在研究webservice,但是在线安装suds的时候提示No module named 'client' 提示没有client模块,提示这个错误主要还是因为没有安装client模块 在线安装cl ...

  7. 使用webpack搭建react开发环境

    安装和使用webpack 1.初始化项目 mkdir react-redux && cd react-redux npm init -y 2.安装webpack npm i webpa ...

  8. JAVA的深浅拷备

    package com.jd.ng.shiro.testFactory; import java.io.*; /** * @author wangzhilei * @Author: husToy.Wa ...

  9. 无法启动链接服务器"XXX DB Link"的 OLE DB 访问接口 "SQLNCLI11" 的嵌套事务。由于 XACT_ABORT 选项已设置为 OFF,因此必须使用嵌套事务。链接服务器"XXX DB Link"的 OLE DB 访问接口 "SQLNCLI11" 返回了消息"无法在此会话中启动更多的事务"。

    无法启动链接服务器"XXX DB Link"的 OLE DB 访问接口 "SQLNCLI11" 的嵌套事务.由于 XACT_ABORT 选项已设置为 OFF,因 ...

  10. js-进度条-动画

    效果图如下:       HTML: <h1>js实现进度条</h1> <div id="warp"> <div id="inn ...