京东VC后台自动批量上传主图 大聪明自动传主图 c# selenium网页自动化传图

本文介绍了使用C#和Selenium开发的自动化工具,用于京东VC后台的主图上传,显著提高电商设计师的工作效率。通过CSV导入sku,处理网络问题并分享Selenium等待技巧,解决iframe、元素点击等问题。
摘要由CSDN通过智能技术生成

这里介绍干什么用

减轻电商设计日常重复传主图工作。
我任职的公司每次手动传主图150个sku,大概需要一个半小时。
碰到节假日放假人在家中,也免不了这个事情。
这事实在有点烦人,遂百度学习了c# 和 selenium 制作了这个小传图软件,解放双手,让电脑自己传主图。

这里是网页自动化传主图演示

录完视频发现账号密码那是明文的,不想改了视频贴两个黑框盖一下好了

c# selenium 完成了一个 京东VC后台网页自动化传图

使用方法 前置条件 下载地址

大聪明下载地址

腾讯微云下载

1-准备工作 CSV文档( 保存sku )

保存一个纯sku的文档
在这里插入图片描述

和你自己做的图
瞅瞅我这有181个,手动传一个人得传2小时在这里插入图片描述

2-统一给图片加一个前缀名,方便在vc后台搜图

这个插件可以给你做好的图,在前面加些文字且没有1234的序号
ps如何快速改181个图片的价格和导出,应该会吧,不会有人一个个手动改价格然后导出吧?
如果你搜到了这里,应该和我一样懒,应该会的。
在这里插入图片描述

2-准备工作 VC后台图片空间先上传图片

在图片空间上传图片
京东的vc主图后台搜索sku时会出现所有该sku的图片
因此给sku添加前缀这样就只会搜出当天的
在这里插入图片描述

3-Chrome浏览器需要105版本

腾讯微云下载

在这里插入图片描述

开始使用大聪明

1-输入账号信息

请添加图片描述

2-点击打开csv按钮

就是你自己准备的sku的表格,csv格式的
请添加图片描述

3-初始化浏览器

大聪明会自动打开一个新的chrome浏览器,自动输入账号密码
但是这里需要自己手动滑动拼图验证登录
请添加图片描述

在这里插入图片描述
进入后台后,因为我这里是供应商账号,所以我需要手动切换为供应商
然后手动点击进入我的商品页面
在这里插入图片描述

4-开始传图

点击按钮后,可以去摸鱼了,等待上传成功。
请添加图片描述
如果遇到网络波动卡了大聪明会跳过当前sku的上传
这里会有没传成功的csv表,另存为再来一遍呗
请添加图片描述

网络错误上传失败的处理

如果碰到网络波动(我自己测试,一般是在商详编辑页)超过60秒还卡着,
就会跳过当前sku,关闭商详页,接着下个sku传。

全部sku传完后,在这里看看有没有没传成功的,点按钮可以保存未上传成功csv表格

在这里插入图片描述

软件压缩包下载

压缩包下载

这里写碰到的问题

1-iframe
2-Chrome浏览器新标签页 窗口句柄
3-点击不了的元素真是烦人
4-加载中消息框过于讨厌

分享Selenium自己的等待方法

实现的思路是:

  1. 找一个元素
  2. 元素没找到进入循环
  3. 查找元素,然后等待1秒钟
  4. 找到了元素跳出循环 | 没找到元素继续循环
  5. 来个tty 找到元素跳出循环 点击元素
  6. 来个catch 没找到元素,循环上限到了跳出,点击元素找不到元素报错,处理它
public void WaitClick(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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要将代码上传到主分支,你可以按照以下步骤进行操作: 1. 首先,在本地仓库中创建并切换到一个新的分支(可选)。如果你已经有一个新的分支,可以跳过此步骤。 ```shell git checkout -b new_branch ``` 2. 确保你当前在主分支上。可以使用以下命令来切换到主分支: ```shell git checkout main ``` 如果你的主分支名称不是 `main`,而是其他名称(如 `master`),请相应地替换命令中的 `main`。 3. 将你的修改添加到暂存区。使用 `git add` 命令将你要上传的文件或目录添加到暂存区。 ```shell git add file1 file2 ... ``` 4. 提交你的修改。使用 `git commit` 命令将暂存区中的修改提交到本地仓库。 ```shell git commit -m "Commit message" ``` 在引号内替换 "Commit message" 为你自己的提交信息。 5. 如果你的本地仓库没有远程主机设置,需要先添加一个远程主机。使用 `git remote add` 命令将远程主机的 URL 添加到本地仓库。 ```shell git remote add origin <remote_repo_url> ``` 在 `<remote_repo_url>` 处填写远程主机的URL。 6. 最后,将你的代码推送到远程主分支。使用 `git push` 命令将你的本地代码上传到远程主分支。 ```shell git push origin main ``` 如果你的主分支名称不是 `main`,请相应地替换命令中的 `main`。 这样,你的代码就会被推送到远程主分支了。记得将命令中的文件名、分支名和远程主机URL根据你自己的实际情况进行替换。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值