2022年,经营多年的厂子遇到了危机,被迫出租了厂房。34岁了重新想找工作,好友却劝我,和他一起搞外贸(Shopee)。9月底审批了下来了店铺,到今日每两天平均1单吧。我初步算了下,如果实现每天50单的话,倒是可以维持生计。
遇到了一个什么问题呢:上传商品到,马来店铺的话,需要一个个改价格如下方红色所示
一双鞋,8个尺码,6种颜色,就需要ctrl+c,ctrl+v 68下,这太恐怖了!!
我顿时来了兴趣,python +chrome +selenium 解决这个问题应该很轻松啊。
一.需要准备的是:
1.python 开发环境,并安装selenium 库
pip install selenium
2.chrome 最新版本(请独自搜索)
3.chrome driver 最新版本(请独自搜索,放到指定的目录比如E:/driver/chromedriver.exe)
二.要是使用浏览器的自动登录而不是每次输入密码,则需要配置需要启动chrome的调试模式,快捷方式填入参数
--remote-debugging-port=9933
注意在引号外面,如下图所示:
三. 进入chrome,进入网站,进入调试模式(如下图),查看input 所在的class,于是写下如下的xpath定位到文本框:
//div[@class='table-middle-scroll table-middle-not-scroll'][not(@disabled='disabled')]//input
四.接着用一个python 遍历解决问题,所有代码如下:
- from time import sleep
- from selenium import webdriver
- from selenium.webdriver.chrome.options import Options
- from selenium.webdriver.common.by import By
- options = Options()
- # 9933的端口一定要和chrome 的启动参数一致
- options.add_experimental_option("debuggerAddress", "127.0.0.1:9933")
- # chromedriver 的位置一定要正确
- browser = webdriver.Chrome(
- options=options, executable_path="E:/driver/chromedriver.exe")
- # 获取当前窗口句柄(窗口A)
- handles = browser.window_handles
- # 默认第0个就是当前被选中的
- browser.switch_to.window(handles[0])
- # 通过xpath找到需要改变的文本框
- textboxs = browser.find_elements(
- by=By.XPATH, value="//div[@class='table-middle-scroll table-middle-not-scroll'][not(@disabled='disabled')]//input")
- # 这个是控制台输入的数值
- _input = input('请输入需要发布的到店铺的价格:')
- for textbox in textboxs:
- # 必须clear后才可以输入
- textbox.clear()
- # 必须要睡一会,太快了反应不过来
- sleep(1)
- # 文本框输入数值
- textbox.send_keys(_input)
- # 输出多少个文本框被改变
- print(len(textboxs))
五. 获得一个外贸订单的快感,远远不如写一段代码!
六.坐标济南,此致敬礼!