帮我哥用seleium写了个自动填表的爬虫,留存一下

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)




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值