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自定义线程类简单示例
Mar 23 Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 Python
python如何求解两数的最大公约数
Sep 27 Python
python 同时运行多个程序的实例
Jan 07 Python
使用Python制作表情包实现换脸功能
Jul 19 Python
Python FtpLib模块应用操作详解
Dec 12 Python
python 实现图片上传接口开发 并生成可以访问的图片url
Dec 18 Python
Python函数参数类型及排序原理总结
Dec 19 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
Python实现ATM系统
Feb 17 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
Mar 13 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 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中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
2010/12/30 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
深入讲解Python编程中的字符串
2015/10/14 Python
Python随机数用法实例详解【基于random模块】
2017/04/18 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
法国足球商店:Footcenter
2019/07/06 全球购物
Seavenger官网:潜水服、浮潜、靴子和袜子
2020/03/05 全球购物
估算杭州有多少软件工程师
2015/08/11 面试题
大学新生军训自我鉴定范文
2014/09/13 职场文书
县人大领导班子四风对照检查材料思想汇报
2014/10/09 职场文书
倡议书范文大全
2015/04/28 职场文书
Opencv中cv2.floodFill算法的使用
2021/06/18 Python