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

思路

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

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自动上传有赞单号的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • python+selenium select下拉选择框定位处理方法

    一.前言 总结一下python+selenium select下拉选择框定位处理的两种方式,以备后续使用时查询: 二.直接定位(XPath) 使用Firebug找到需要定位到的元素,直接右键复制XPath,使用find_element_by_xpath定位: driver = webdriver.Firefox() driver.get("https://www.baidu.com/") driver.find_element_by_xpath().click() 三.间接定位(Sel

  • 基于python的selenium两种文件上传操作实现详解

    方法一.input标签上传 如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方式需要借助第三方工具,主要有以下三种情况: 1.AutoIt 去调用它生成的au3或者exe格式的文件 2.SendKeys第三方库(目前只支持到2.7版本) 网址:https://pypi.python.org/pypi/SendKeys/ 3.Python的pywin32库,通过识别对话框句柄来进行操作

  • Python中selenium实现文件上传所有方法整理总结

    文件上传是所有UI自动化测试都要面对的一个头疼问题,今天博主在这里给大家分享下自己处理文件上传的经验,希望能够帮助到广大被文件上传坑住的seleniumer. 首先,我们要区分出上传按钮的种类,大体上可以分为两种,一种是input框,另外一种就比较复杂,通过js.flash等实现,标签非input 我们分别对这两种进行分析: 1.input标签 众所周知,input标签是可以直接send_keys的,这里也不例外,来看代码示例: 代码: # -*- coding: utf-8 -*- from

  • Python selenium文件上传方法汇总

    文件上传是所有UI自动化测试都要面对的一个头疼问题,今天博主在这里给大家分享下自己处理文件上传的经验,希望能够帮助到广大被文件上传坑住的seleniumer. 首先,我们要区分出上传按钮的种类,大体上可以分为两种,一种是input框,另外一种就比较复杂,通过js.flash等实现,标签非input 我们分别对这两种进行分析: 1.input标签 众所周知,input标签是可以直接send_keys的,这里也不例外,来看代码示例: 示例网址:http://www.sahitest.com/demo

  • python+selenium+autoit实现文件上传功能

    问题 在做web端ui层自动化的时候会碰到文件上传的操作,经常有朋友问到,这里总结一下 解决方案 第一种:type=file的上传文件,类似如下的 使用类似这样的代码就可以完成: driver.find_element('name','file').send_keys('./小强测试品牌.png') 第二种:就是第一种除外的,实现起来较为麻烦,这里用到了autoit,大致步骤如下: 1.下载并安装autoit,之后在开始菜单可以看到如下 AutoIt Windows Info 用于识别Windo

  • Python SELENIUM上传文件或图片实现过程

    逛网站的时候经常会遇到需要上传图片的操作,这里主要来说下selenium操作上传文件的操作. 前提条件:定位的元素必须是type 属性是file类型.即type="file",如下图: 详细用法: 参考代码: from selenium import webdriver import time driver = webdriver.Chrome() def test_open_page(): '''打开界面''' driver.maximize_window() driver.get(

  • python3 selenium自动化 下拉框定位的例子

    我们在做web UI自动化时,经常会碰到下拉框,如下图: 所上图,下拉框的源代码如下: <html1> <head></head> <body> <select id="fruit" name="水果" style="width:100px;"> <option value ="0">苹果</option> <option value =

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

    思路 1.将姓名和单号填入excel表格里面 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 brows

  • Python selenium爬取微信公众号文章代码详解

    参照资料:selenium webdriver添加cookie: https://www.jb51.net/article/193102.html 需求: 想阅读微信公众号历史文章,但是每次找回看得地方不方便. 思路: 1.使用selenium打开微信公众号历史文章,并滚动刷新到最底部,获取到所有历史文章urls. 2.对urls进行遍历访问,并进行下载到本地. 实现 1.打开微信客户端,点击某个微信公众号->进入公众号->打开历史文章链接(使用浏览器打开),并通过开发者工具获取到cookie

  • Python+Selenium实现短视频自动上传与发布的实践

    目录 前言 第一章:效果展示 第二章:实现过程 前言 最近有人对自动上传与发布很感兴趣,都私下找我说了好几次了.今天,必须把他安排,必须实力宠粉. “本篇依次介绍目前主流的短视频平台(抖音.快手.B站.小红书.微视.百度好看视频.西瓜视频.微信视频号.搜狐视频.一点号.大风号.趣头条等)的短视频自动发布,希望帮助大家更方便.高效的来进行自媒体的创作与管理. 第一章:效果展示 ① 效果展示 ② 素材展示 一个为视频,另一个为像素大小不小于视频的封面. 第二章:实现过程 ① 调用已启用的浏览器 通过

  • Python+selenium实现趣头条的视频自动上传与发布

    目录 效果展示 效果展示 素材展示 实现过程 调用已启用的浏览器 上传视频和封面 完整源码展示  补充 Python+selenium操作已启用的chrome浏览器 Python+selenium实现自动导入.上传外部文件 效果展示 效果展示 素材展示 一个为视频,另一个为像素大小不小于视频的封面. 实现过程 调用已启用的浏览器 通过调用已启用的浏览器,可以实现直接跳过每次的登录过程. 使用方法可以参考补充内容 from selenium import webdriver options = w

  • Python实现轻松识别数百个快递单号

    目录 前情提要 思考解决办法 遍历图片 识别条形码 小结 大家好,我是小五 这是Python改变生活系列的第三篇,也是一个与你们有关的问题案例. 前情提要 了解我的小伙伴可能都知道,小五经常给大家送书.最近一年,不算联合抽奖送书,单独我自购+出版社赞助已送出1000本书籍. 如果是自购的话,还需要自己联系快速小哥寄出书籍. 寄出后快递小哥会给我截图来反馈,然而我想要单号的时候就遇到问题了. 每次寄完书,我都只能得到n个截图(内含快递信息). 为了及时反馈大家物流信息,我需要尽快将快递单号提取出来

  • python+selenium实现12306模拟登录的步骤

    简介: 这里是利用了selenium+图片识别验证,来实现12306的模拟登录,中间也参考了好几个项目,实现了这个小demo,中间也遇到了很多的坑,主要难点在于图片识别和滑动验证这两个方面,图片识别是利用超级鹰的服务进行验证识别的,其次一个难点就是在账户密码和图片识别都过了以后的滑动验证,因为12306网站做了反爬,利用selenium滑动时,会报错,提示你一直刷新,这里也是更改了滑动框. 技术栈: python.selenium.图片验证.滑动验证 思路: 提前卧槽,12306网站的并发真的牛

  • python selenium 获取标签的属性值、内容、状态方法

    获取标签内容 使用element.attribute()方法获取dom元素的内容,如: dr = driver.find_element_by_id('tooltip') dr.get_attribute('data-original-title') #获取tooltip的内容 dr.text #获取该链接的text 获取标签属性 link=dr.find_element_by_id('tooltip') link.value_of_css_property('color') #获取toolti

  • Python selenium根据class定位页面元素的方法

    在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的.但是实际工作中,很多前端开发人员并未给每个元素都编写id属性.通常一段html代码如下: <div class="sui-tips s-isindex-wrap sui-tips-exceedtipnews" style="display: none; width: auto;"> <div class="sui-tips-arrow" s

  • python+selenium实现自动抢票功能实例代码

    简介 什么是Selenium? Selenium是ThoughtWorks公司的一个强大的开源Web功能测试工具系列,采用Javascript来管理整个测试过程,包括读入测试套件.执行测试和记录测试结果.它采用Javascript单元测试工具JSUnit为核心,模拟真实用户操作,包括浏览页面.点击链接.输入文字.提交表单.触发鼠标事件等等,并且能够对页面结果进行种种验证.也就是说,只要在测试用例中把预期的用户行为与结果都描述出来,我们就得到了一个可以自动化运行的功能测试套件.(Selenium的

  • python+selenium 脚本实现每天自动登记的思路详解

    最近受疫情影响,学校要求每天必须进行健康登记,而我身处大山深处,身体健康,足不出户,奈何总是容易忘记,遂决定手撸一个自动登记的小程序,仅供学习交流之用,话不多说,直接上代码. 配置:Chrom python3.7 selenium库,webdriver等 基本思路,使用selenium模拟浏览器自动登录,需要解决验证码的提取,嵌套表单的提取,弹窗处理,异常处理. 为了防止大家用此网站测试,搞垮服务器,关键网址我已隐藏. import selenium.webdriver import time

随机推荐