import xlrd
from selenium import webdriver
import time
workxls =xlrd.open_workbook("test.xls")
worksheet = workxls.sheet_by_index(0)
row =worksheet.nrows-1
serial=[0 for i in range(row)]
weight=[0 for i in range(row)]
volume=[0 for i in range(row)]
serial_yes=[]
serial_no=[]
weight_yes=[]
weight_no=[]
volume_yes=[]
volume_no=[]
serial_pass=[]
weight_pass=[]
volume_pass=[]
print('已读入%d组数据,正在对数据进行检查分类'%row)
for i in range(0,row):
rowdate =worksheet.row_values(i+1)
serial[i]=rowdate[0]
weight[i]=rowdate[1]
volume[i]=rowdate[2]
for i in range(0,row):
if weight[i]/volume[i]>=168 and weight[i]/volume[i]<= 330:
serial_yes.append(serial[i])
weight_yes.append(weight[i])
volume_yes.append(volume[i])
elif weight[i]/volume[i]>=7800:
serial_pass.append(serial[i])
weight_pass.append(weight[i])
volume_pass.append(volume[i])
else:
serial_no.append(serial[i])
weight_no.append(weight[i])
volume_no.append(volume[i])
yes_num=len(serial_yes)
no_num=len(serial_no)
pass_num=len(serial_pass)
print('数据检查完成,合格数据%d条,不合格数据%d条,PASS数据%d条。'%(yes_num,no_num,pass_num))
print(serial,weight,volume)
print('正在读取浏览器缓存,在这卡顿几十秒是正常现象,稍等一下')
profileDir = "D:\\Users\\bj3c\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\4mxptqin.default"
profile = webdriver.FirefoxProfile(profileDir)
driver = webdriver.Firefox(profile)
print('正在打开浏览器')
driver.get('http://dms.etms.jd.com/weightAndVolumeCheckOfB2b/toIndex')
time.sleep(2)
print('开始填入合格数据')
for i in range(0,yes_num):
yundan = driver.find_element_by_id("waybillOrPackageCode")
yundan.clear()
yundan.send_keys(str(serial_yes[i]))
zhongliang = driver.find_element_by_id("waybillWeight")
zhongliang.clear()
zhongliang.send_keys(str(weight_yes[i]))
tiji = driver.find_element_by_id("waybillVolume")
tiji.clear()
tiji.send_keys(str(volume_yes[i]))
# 点击登录
login_confirm = driver.find_element_by_id("btn_check")
login_confirm.click()
print('正在填入第%d条合格数据'%i)
time.sleep(2)
print('开始填入不合格数据')
for i in range(0,no_num):
yundan = driver.find_element_by_id("waybillOrPackageCode")
yundan.clear()
yundan.send_keys(str(serial_no[i]))
zhongliang = driver.find_element_by_id("waybillWeight")
zhongliang.clear()
zhongliang.send_keys(str(weight_no[i]))
tiji = driver.find_element_by_id("waybillVolume")
tiji.clear()
tiji.send_keys(str(volume_no[i]))
# 点击登录
login_confirm = driver.find_element_by_id("btn_check")
login_confirm.click()
print('正在填入第%d条不合格数据'%i)
time.sleep(2)
print('所有数据已经录入完毕,现在可以关闭此窗口了')
time.sleep(300)
帮我哥用seleium写了个自动填表的爬虫,留存一下
于 2020-10-28 06:41:42 首次发布