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 数据结构之旋转链表
Feb 25 Python
Python实现选择排序
Jun 04 Python
python opencv之SIFT算法示例
Feb 24 Python
TensorFLow用Saver保存和恢复变量
Mar 10 Python
零基础使用Python读写处理Excel表格的方法
May 02 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
Dec 12 Python
python with语句的原理与用法详解
Mar 30 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
Apr 08 Python
如何在keras中添加自己的优化器(如adam等)
Jun 19 Python
Python docutils文档编译过程方法解析
Jun 23 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 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学习 计数器实例代码
2008/06/15 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
PHP的autoload机制的实现解析
2012/09/15 PHP
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
php与Mysql的一些简单的操作
2015/02/26 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
使用JavaScript实现连续滚动字幕效果的方法
2015/07/07 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
购物车前端开发(jQuery和bootstrap3)
2016/08/27 Javascript
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
node结合swig渲染摸板的方法
2018/04/11 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
react写一个select组件的实现代码
2019/04/03 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
Python查找文件中包含中文的行方法
2018/12/19 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
python对Excel的读取的示例代码
2020/02/14 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
浅析HTML5:'data-'属性的作用
2018/01/23 HTML / CSS
自主招生推荐信范文
2014/05/10 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
毕业生党员个人总结
2015/02/14 职场文书
MySQL 可扩展设计的基本原则
2021/05/14 MySQL