python selenium自动上传有赞单号的操作方法
作者:云胡123 发布时间:2023-05-21 13:24:43
标签: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自动上传有赞单号的操作方法网站的支持!
来源:https://blog.csdn.net/qq_32046111/article/details/80905267


猜你喜欢
- 以控制抖音app滑动并获取抖音短视频发布者昵称和点赞数等信息为例:1. 安装appium-python-client模块并启动已安装好的环境
- 傅里叶变换图像处理一般分为空间域处理和频率域处理。空间域处理是直接对图像内的像素进行处理。空间域处理主要划分为灰度变换和空间滤波两种形式。灰
- 本文实例讲述了C#实现远程连接ORACLE数据库的方法。分享给大家供大家参考。具体分析如下:使用该方法,只需要传入几个必要的参数就可以进行数
- VueX浏览器刷新保存数据在vue项目中用vuex来做全局的状态管理, 发现当刷新网页后,保存在vuex实例store里的数据会丢失。原因:
- 我就废话不多说了,大家还是直接看代码吧!import requestsimport jsonraw = {}headers中添加上conte
- 关于Python数据分析中pandas模块在输出的时候,每行的中间会有省略号出现,和行与行中间的省略号....问题,其他的站点(百度)中的大
- 编写函数装饰器本节主要介绍编写函数装饰器的相关内容。跟踪调用如下代码定义并应用一个函数装饰器,来统计对装饰的函数的调用次数,并且针对每一次调
- 本文实例讲述了PHP实现网页内容html标签补全和过滤的方法。分享给大家供大家参考,具体如下:如果你的网页内容的html标签显示不全,有些表
- 我就废话不多说了,大家还是直接看代码吧~/** 二分幂法 求x^n */// 求整数幂package mainimport (
- 本文实例为大家分享了python人民币大小写转换的具体代码,供大家参考,具体内容如下大家应该都知道,银行打印账单有时候会跟上人民币的阿拉伯数
- 爬楼梯(Climbing-Stairs)题干:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同
- 这学期有一门运筹学,讲的两大块儿:线性优化和非线性优化问题。在非线性优化问题这里涉及到拉格朗日乘子法,经常要算一些非常变态的线性方程,于是我
- python的思维就是让我们用尽可能少的代码来解决问题。对于词频的统计,就代码层面而言,实现的方式也是有很多种的。之所以单独谈到统计词频这个
- 如何在线压缩Access数据库?Access数据库可以在线压缩吗?可以的,代码和说明见下:compact.asp<%option&nb
- 一、简介Python:英 -[‘paɪθ ə n]或[‘paɪθɑn] 89年诞生 可用于软件开发:游戏后台、搜索、图形界面,网站,C\S(
- 有不少朋友在开发爬虫的过程中喜欢使用Selenium + Chromedriver,以为这样就能做到不被网站的反爬虫机制发现。先不说淘宝这种
- eval 是干嘛的?解析字符串表达式并执行,并返回一个值语法格式eval(expression[, globals[, locals]])
- 导入在阅读过程中如果遇到一些带有水印的资料是比较烦心的,如下图所示,水印以及类似的内容会影响我们的阅读体验,而市面上去水印的功能有多要收费且
- 在JS中要判断一个值是否在数组中并没有函数直接使用,如PHP中就有in_array()这个函数。但我们可以写一个类似in_array()函数
- JavaScript中,可以使用delete操作符来删除对象中的property:var t = {a:42, b:26};console.