用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 ...
随机推荐
- Myeclipse 10/2014 配置插件(svn、maven、properties、velocity)方法
一.构造SVN具体说明 什么是SVN? 管理软件开发过程中的版本控制工具. 以下会以两种方式来介绍怎么安装svn,myeclipse安装SVN插件步骤.以myeclipse 2014为例,第一种是最常 ...
- Orleans:NET的Actor模型
.NET的Actor模型:Orleans Orleans是微软推出的类似Scala Akka的Actor模型,Orleans是一个建立在.NET之上的,设计的目标是为了方便程序员开发需要大规模扩展 ...
- 【007】【JVM——内存分配和恢复策略】
内存分配与收回策略 JVM的自己主动内存管理要自己主动化地解决两个问题:对象分配内存以及回收分配给对象的内存.回收内存前几篇已经讲了.如今说内存分配.对象的内存分配一般分配在堆内存中,也可能经过 ...
- Kotlin
关于Kotlin,网上已有一些介绍的文章,包括Antonio Leiva的这组blog翻译稿.不过,我还是想跟进它们.翻译它们,以锻炼自己的英文翻译.各位高手发现问题,请及时“拍砖”. 原文题目:Ko ...
- Could not drop object 'student' because it is referenced by a FOREIGN KEY constraint
1. Find foreign keys SELECT * FROM sys.foreign_keys WHERE referenced_object_id = object_id('Student' ...
- hdu 2243 考研绝望——复杂的文字(AC自己主动机+矩阵高速功率)
pid=2243" target="_blank" style="">题目链接:hdu 2243 考研路茫茫--单词情结 题目大意:略. 解题思 ...
- BZOJ 1096 ZJOI2007 仓库建设 边坡优化
标题效果:特定n植物,其中一些建筑仓库,有一点使,假设没有仓库仓库向右仓库.最低消费要求 非常easy边坡优化--在此之前刷坡优化的情况下,即使这道题怎么错过 订购f[i]作为i点建设化妆i花费所有安 ...
- Java Web整合开发(20) -- Hibernate入门
Spring与Hibernate整合
- DOM简要
在看Js视频的时候就感觉Dom这东西太奇妙了.在这个注重用户体验的Web设计时代里.Dom是至关重要的. 它的易用性强.而且遍历简单.支持XPath. 它既然这么强大那么就来简单的介绍Dom这个东东. ...
- hdu1381 Crazy Search(hash map)
题目意思: 给出一个字符串和字串的长度,求出该字符串的全部给定长度的字串的个数(不同样). 题目分析: 此题为简单的字符串哈hash map问题,能够直接调用STL里的map类. map<str ...