目录
这里介绍干什么用
减轻电商设计日常重复传主图工作。
我任职的公司每次手动传主图150个sku,大概需要一个半小时。
碰到节假日放假人在家中,也免不了这个事情。
这事实在有点烦人,遂百度学习了c# 和 selenium 制作了这个小传图软件,解放双手,让电脑自己传主图。
这里是网页自动化传主图演示
录完视频发现账号密码那是明文的,不想改了视频贴两个黑框盖一下好了
c# selenium 完成了一个 京东VC后台网页自动化传图
使用方法 前置条件
1-准备工作 CSV文档( 保存sku )
2-准备工作 VC后台图片空间先上传图片
3-Chrome浏览器需要升级到105版本或更高
开始传图
1-输入账号信息
2-点击打开csv按钮
3-初始化浏览器
这里需要自己手动滑动拼图验证登录
4-开始传图
点击按钮后,可以去摸鱼了,等待上传成功。
网络错误上传失败的处理
如果碰到网络波动(我自己测试,一般是在商详编辑页)超过60秒还卡着,
就会跳过当前sku,关闭商详页,接着下个sku传。
全部sku传完后,在这里看看有没有没传成功的,点按钮可以保存未上传成功csv表格
软件压缩包下载
压缩包下载
这里写碰到的问题
1-iframe
2-Chrome浏览器新标签页 窗口句柄
3-点击不了的元素真是烦人
4-加载中消息框过于讨厌
分享Selenium自己的等待方法
实现的思路是:
- 找一个元素
- 元素没找到进入循环
- 查找元素,然后等待1秒钟
- 找到了元素跳出循环 | 没找到元素继续循环
- 来个tty 找到元素跳出循环 点击元素
- 来个catch 没找到元素,循环上限到了跳出,点击元素找不到元素报错,处理它
publicvoidWaitClick(string tempXpath){var findXPath = driver.FindElements(By.XPath(tempXpath));while(findXPath.Count <1){//查找元素,等待1秒钟,找到元素就跳出,没找到元素循环10次跳出for(int i =0; i <60; i++){//再次查询元素var findXPath2 = driver.FindElements(By.XPath(tempXpath));//等待1秒钟
Thread.Sleep(1000);if(findXPath2.Count >0){break;//查找到元素就跳出}}break;}try{//点击元素
driver.FindElement(By.XPath(tempXpath)).Click();}catch{//错误处理代码
Debug.WriteLine("查找元素超时错误");}}
来个总结和感想
第一次动手解决问题,前后大概用时两个月吧。
最开始百度到的是 PowerAutomate 可以实现自动化办公。
但是实际操作我发现电脑会很卡,而且网页元素抓取不准,特别网页有iframe就完蛋了。
后百度到Selenium也是实现网页自动化,遂学习c# selenium。
c# selenium 基础操作我从这里学的
工作在浏览器上人-YangBobin
版权归原作者 火之大铁牛 所有, 如有侵权,请联系我们删除。