python selenium自动上传有赞单号的操作方法


Posted in Python onJuly 05, 2018

思路

1.将姓名和单号填入excel表格里面

python selenium自动上传有赞单号的操作方法

2.读取excel表格,将所有姓名存到ExeclName这个list中,单号存到ExeclId

3.selenium自动根据姓名搜索,点击发货

代码

# -- coding: utf-8 --
from selenium import webdriver
import timeimport xlwings as xw
from selenium.common.exceptions import NoSuchElementException
browser = webdriver.Chrome()
#输入有赞账号密码
def loginYouzan():
  browser.get('https://www.youzan.com/v2/trade/order#list&p=1&goods_title=&type=all&state=tosend&orderby=book_time&order_es_tag=&tuanId=&showBanner=false&ext_type=&order=desc&page_size=20&disable_express_type=')
  time.sleep(1)
  browser.find_element_by_name('mobile').send_keys("username")
  time.sleep(0.5)
  browser.find_element_by_name('password').send_keys("password")
#自动上传单号
def autoUploadId():
  wb = xw.Book('upload.xlsx')
  sht = xw.books['upload.xlsx'].sheets['Sheet1']
  ExeclId = sht.range('C2').expand('down') # 从excel获取id #从c2开始的底下所有列的值存到list rng1中
  ExeclName = sht.range('B2').expand('down') # 从excel中获取名字
  print(ExeclId.value)
  print(ExeclName.value)
  time.sleep(5)
  loginYouzan()
  time.sleep(5)
  redBg = browser.find_elements_by_class_name('dp-text')
  time.sleep(1)
  #redBg[1].click()
  redBg[0].click()
  time.sleep(1)
  #browser.find_element_by_name("order_label").find_elements_by_tag_name("option")[2].click()
  browser.find_element_by_name("order_label").find_elements_by_tag_name("option")[2].click()
  i = 0
  while i < len(ExeclName):
    time.sleep(2)
    browser.find_element_by_name('user_name').click()
    browser.find_element_by_name('user_name').clear()
    browser.find_element_by_name('user_name').send_keys(ExeclName[i].value) # 填入获取到的名字
    time.sleep(1)
    browser.find_element_by_link_text('筛选').click() # 点击筛选
    time.sleep(2)
    try:
      submit = browser.find_element_by_link_text('发 货')
      if submit.is_displayed():
        if submit.is_enabled():
          submit.click() # 点击发货
          time.sleep(3)
          browser.find_element_by_class_name('js-check-all').click()
          time.sleep(2)
          browser.find_element_by_name("express_id").find_elements_by_tag_name("option")[5].click()
          browser.find_element_by_name('express_no').send_keys(ExeclId[i].value) # 填入单号
          print("第" + str(i) + "个客户成功")
          print('姓名: ' + ExeclName[i].value + "单号: " + ExeclId[i].value)
          time.sleep(4)
          # browser.find_element_by_link_text('保存').click() #点击保存
          browser.find_element_by_link_text('×').click()
          #i = i + 1
          browser.find_element_by_name('user_name').clear()
      else:
        continue
    except NoSuchElementException as msg:
      print(msg)
    print("第" + str(i) + "个客户失败")
    i = i + 1
    print('姓名: ' + ExeclName[i].value + "单号: " + ExeclId[i].value)
    time.sleep(0.5)
def main():
  #writeDataToExcel()
  autoUploadId()
if __name__ == '__main__':
  main()

总结

以上所述是小编给大家介绍的python selenium自动上传有赞单号的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python深入学习之内存管理
Aug 31 Python
跟老齐学Python之关于循环的小伎俩
Oct 02 Python
python 接收处理外带的参数方法
Dec 03 Python
python画图——实现在图上标注上具体数值的方法
Jul 08 Python
Python 操作 ElasticSearch的完整代码
Aug 04 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
python打印n位数“水仙花数”(实例代码)
Dec 25 Python
python base64库给用户名或密码加密的流程
Jan 02 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
Mar 06 Python
python3跳出一个循环的实例操作
Aug 18 Python
Python系统公网私网流量监控实现流程
Nov 23 Python
聊一聊python常用的编程模块
May 14 Python
python实现爬取图书封面
Jul 05 #Python
Python定义二叉树及4种遍历方法实例详解
Jul 05 #Python
Python使用pyodbc访问数据库操作方法详解
Jul 05 #Python
如何优雅地处理Django中的favicon.ico图标详解
Jul 05 #Python
解决pandas中读取中文名称的csv文件报错的问题
Jul 04 #Python
解决Python pandas df 写入excel 出现的问题
Jul 04 #Python
python处理数据,存进hive表的方法
Jul 04 #Python
You might like
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
PHP小教程之实现链表
2014/06/09 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
Jquery 基础学习笔记
2009/05/29 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
2014/01/02 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
Vue配置marked链接添加target=&quot;_blank&quot;的方法
2019/07/19 Javascript
微信小程序 网络通信实现详解
2019/07/23 Javascript
layui实现三级联动效果
2019/07/26 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
vue实现列表拖拽排序的功能
2020/11/02 Javascript
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
python实现多线程网页下载器
2018/04/15 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
python2.7实现邮件发送功能
2018/12/12 Python
基于python实现高速视频传输程序
2019/05/05 Python
简单了解django索引的相关知识
2019/07/17 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
家长会演讲稿
2014/04/26 职场文书
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电