• 心中有码,自然快乐


             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 遍历解决问题,所有代码如下:

    1. from time import sleep
    2. from selenium import webdriver
    3. from selenium.webdriver.chrome.options import Options
    4. from selenium.webdriver.common.by import By
    5. options = Options()
    6. # 9933的端口一定要和chrome 的启动参数一致
    7. options.add_experimental_option("debuggerAddress", "127.0.0.1:9933")
    8. # chromedriver 的位置一定要正确
    9. browser = webdriver.Chrome(
    10. options=options, executable_path="E:/driver/chromedriver.exe")
    11. # 获取当前窗口句柄(窗口A)
    12. handles = browser.window_handles
    13. # 默认第0个就是当前被选中的
    14. browser.switch_to.window(handles[0])
    15. # 通过xpath找到需要改变的文本框
    16. textboxs = browser.find_elements(
    17. by=By.XPATH, value="//div[@class='table-middle-scroll table-middle-not-scroll'][not(@disabled='disabled')]//input")
    18. # 这个是控制台输入的数值
    19. _input = input('请输入需要发布的到店铺的价格:')
    20. for textbox in textboxs:
    21. # 必须clear后才可以输入
    22. textbox.clear()
    23. # 必须要睡一会,太快了反应不过来
    24. sleep(1)
    25. # 文本框输入数值
    26. textbox.send_keys(_input)
    27. # 输出多少个文本框被改变
    28. print(len(textboxs))

     

    五. 获得一个外贸订单的快感,远远不如写一段代码!

    六.坐标济南,此致敬礼!

     

  • 相关阅读:
    OA管理系统源码
    【LeetCode: 260. 只出现一次的数字 III | 位运算 | 哈希表】
    pandas中使用query查询时列名中存在空格,报语法错误,使用反引号试试看
    PowerShell 打开十六进制文件
    Vue双向绑定的原理
    MindSpore:【resnet_thor模型】尝试运行resnet_thor时报Could not convert to
    设计模式之【单例模式】全解,单例模式实现方式,暴力打破单例模式与解决方案,你真的认识单例模式吗?
    ISCTF
    查询sqlserver内存分配情况的SQL
    Vue中修改 elementui组件样式 不生效
  • 原文地址:https://blog.csdn.net/xkyle/article/details/127451350