用python+selenium导入excel文件
连接mysql
#encoding=utf-8 import pymysql
import time class ConnMysql(object):
def __init__(self):
self.conn = pymysql.connect(host='192.168.2.53',user='tester',passwd='tester890__',db='ips_sqrz',charset='utf8')
self.cur = self.conn.cursor() def selectSql(self):
selectSql = ("SELECT secondprojectno FROM ips_smallproject_info") #��ѯ��ݿ����
self.cur.execute(selectSql)
self.results = self.cur.fetchall() def getTime(self):
self.temp = int(time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))) def closeSql(self):
self.cur.close()
self.conn.close()
修改excel
#!/usr/bin/env python
#-*- coding:gbk -*-
import sys
reload(sys)
sys.setdefaultencoding('gbk') import xlrd
from xlrd import open_workbook
from xlutils.copy import copy
from ConnMysql import ConnMysql class OpExcel(object):
def __init__(self):
file = xlrd.open_workbook("E:\WorkSpace\python34Demo\data\\运单导入模板.xlsx")
sheet = file.sheet_by_index(0)
self.sheets = copy(file)
self.table = self.sheets.get_sheet(0) self.conn = ConnMysql()
self.conn.selectSql() def rExcel(self):
print "生成运单模板中,请稍等。。。"
row = 1
col = 0
for each in self.conn.results:
if row == 10:
pass
else:
self.conn.getTime()
self.table.write(row, col, each)
self.table.write(row, col+1, self.conn.temp+row)
self.sheets.save("E:\WorkSpace\python34Demo\data\\运单导入模板.xlsx")
row += 1
self.conn.closeSql()
实现导入
#!/usr/bin/env python
#-*- coding:gbk -*-
import sys
reload(sys)
sys.setdefaultencoding('gbk') from selenium import webdriver
import time,sys
from OpExcel import OpExcel class ImportOrder(object):
def __init__(self):
driver = webdriver.Firefox()
driver.get("http://sqrz55.ips.cn")
driver.maximize_window() time.sleep()
driver.find_element_by_id("username").send_keys("sqrz_admin")
driver.find_element_by_id("password").send_keys("admin123")
driver.find_element_by_class_name("login_btn").click() time.sleep(2)
if driver.title == u'首页 - G7':
print '登陆成功'
driver.get("http://sqrz55.ips.cn/ordercenter/import.html") time.sleep(1) #直接为导入控件赋文件的绝对路径
driver.find_element_by_xpath('//*[@id="importfile"]').\
send_keys(u"E:\WorkSpace\python34Demo\data\\运单导入模板.xlsx")
driver.find_element_by_id("btnsubmit").click()
time.sleep(2)
driver.find_element_by_class_name("ui_state_highlight").click() succeed = driver.find_element_by_xpath("//span[@id='success_count']").text #得到成功导入和失败导入的数目
error = driver.find_element_by_xpath("//span[@id='error_count']").text
if succeed >= 0:
print '成功导入'+succeed+'条数据'
print '失败'+error+'条数据'
else:
print '登陆失败,请重新登陆' driver.close() if __name__ == '__main__':
ex = OpExcel()
ex.rExcel()
io = ImportOrder()
用python+selenium导入excel文件的更多相关文章
- python批量处理excel文件数据
https://www.zhihu.com/question/39299070?sort=created 作者:水中柳影链接:https://www.zhihu.com/question/392990 ...
- .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)
.Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构) public cl ...
- Java POI导入Excel文件
今天在公司需要做个导入Excel文件的功能,所以研究了一下,参考网上的一些资料总算是做出来了,在此记录一下防止以后忘记怎么弄. 本人用的是poi3.8,所以需要的JAR包如下: poi-3.8.jar ...
- phpexcel导入excel文件报the filename xxx is not recognised as an OLE file错误。
工作中频繁会用phpexcel类导入excel文件的数据到数据库,目前常用的excel文件格式有:xls.csv.xlsx. 刚开始,针对xls文件,使用如下程序,能正常运行: $objReader ...
- python下读取excel文件
项目中要用到这个,所以记录一下. python下读取excel文件方法多种,用的是普通的xlrd插件,因为它各种版本的excel文件都可读. 首先在https://pypi.python.org/py ...
- YII使用PHPExcel导入Excel文件的方法
1.下载phpexcel,将压缩包中的classes复制到protected/extensions下并修改为PHPExcel. 2.修改YII配置文件config/main.php 'import'= ...
- springMVC(5)---导入excel文件数据到数据库
springMVC(5)---导入excel文件数据到数据库 上一篇文章写了从数据库导出数据到excel文件,这篇文章悄悄相反,写的是导入excel文件数据到数据库.上一篇链接:springMVC(4 ...
- excel数据 入库mysql 和 mysql数据 导入excel文件
1.excel数据入库mysql 首先准备excel文件, 标红的地方需要留意,一个是字段名所在行,一个表名对应页: 然后私用mysql工具 navicat, 选择数据库,然后导入文件, 选中相应ex ...
- java后端导入excel模板和导入excel文件去读数据
模板转载地址:https://www.cnblogs.com/zhangyangtao/p/9802948.html 直接上代码(我是基于ssm写的demo,导入文件目前只能读取.xls后缀的exce ...
随机推荐
- hdu1004----用java链表实现
Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- LeetCode——Add Binary
Given two binary strings, return their sum (also a binary string). For example, a = "11" b ...
- 原生js判断css3动画过度(transition)结束 transitionend事件 以及关键帧keyframes动画结束(animation)回调函数 animationEnd 以及 css 过渡 transition无效
上图的 demo 主要讲的 是 css transition的过渡回调函数transitionend事件: css3 的时代,css3--动画 一切皆有可能: 传统的js 可以通过回调函数判断动画 ...
- NuttX 介绍
(嵌入式 实时操作系统 rtos nuttx 7.1) NuttX 介绍 转载请注明出处:http://blog.csdn.net/zhumaill/article/details/24197637 ...
- 数据库管理——安全管理——识别SQLServer中空密码或者弱密码的登录名
原文:数据库管理--安全管理--识别SQLServer中空密码或者弱密码的登录名 原文译自: http://www.mssqltips.com/sqlservertip/2775/identify-b ...
- hdu2665-Kth number
Kth number Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- HDU 3103 Shoring Up the Levees(计算几何 搜寻区域)
主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3103 Problem Description The tiny country of Waterlog ...
- Chromium-Dev一些缩写
备案权 tl;dr: && TL;DR; :"Too long;Don't read" PSA :"Publice Service Announcem ...
- vs2010模板修改
使用visual studio 2010好久了,也遇到了不少问题,下面跟大家分享一些. 模板修改 说明: 主要工具: 以visual studio 2010作为例子,具体目录可能会根据不同的安装目录 ...
- Docker简明教程(转)
Docker自从诞生以来就一直备受追捧,学习Docker是一件很炫酷.很有意思的事情.我希望通过这篇文章能够让大家快速地入门Docker,并有一些学习成果来激发自己的学习兴趣.我也只是一个在Docke ...