zoukankan      html  css  js  c++  java
  • 淘宝 自动上下架 批量操作 python+chrome+selenium

    开发环境:python27+chrome+selenium

    首先配置好环境,需要的库是selenium,pip安装下即可

    然后是chrome浏览器,对应chromedriver.exe   按照自己的chrome版本下载相应的版本(放到脚本目录下)  http://npm.taobao.org/mirrors/chromedriver/

    准备工作就完成了

    ==============================================

    需求分析:

    这次接到客户需求是需要批量操作上下架,根据上架编码来操作,数量大概有几百个(人工操作无疑是要搞死人的)

    分析了下需求,觉得用selenium来模拟操作实现比较方便

    那就开干吧!

    1,首先是进行调试开发

    写脚本来运行功能模块是非常蛋疼的,要是脚本出错,还得手动关闭chromedriver.exe,和浏览器

    这里使用shell来调试开发,个人觉得相当方便,出错了也没关系,可以反复调试

    首先导入库

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys

    然后创建一个driver对象并打开浏览器

    chromedriver = "chromedriver.exe"
    driver = webdriver.Chrome(executable_path=chromedriver)
    driver.set_window_size(1280,800)
    driver.get('https://myseller.taobao.com/home.htm')

    输入完应该会打开浏览器并打开淘宝页面,扫描下二维码进入后台

    这里我说下我常用的获取元素的方法

    driver.find_element_by_xpath("xxxxxx")

    大家有可能觉得xpath不好写,其实没关系,使用chrome的开发者工具,定位到元素后,直接可以拷贝xpath

    操作方法:在需要定位的元素上面右键-检查,会直接跳到元素上面

     在源代码上面右键,复制-复制xpath即可获取到这个元素,

    然后用driver.find_element_by_xpath("xxxxxx")操作下就能获取到元素了,大家可以打印这个元素的text

    print driver.find_element_by_xpath("xxxxxx").text 来看看获取的对不对

     

    然后操作就比较简单了

    进入到出售中的商品或者仓库中的商品

    获取到1的输入框,然后输入内容,输入回车即可进行搜索操作

    driver.find_element_by_xpath('//*[@id="outer-id"]').clear()#清除输入框内的内容
    driver.find_element_by_xpath('//*[@id="outer-id"]').send_keys("1111")#输入上架编码
    driver.find_element_by_xpath('//*[@id="outer-id"]').send_keys(Keys.ENTER)#输入回车键,等于按下回车进行搜索

    然后定位到2处的选中框,点击勾选

    driver.find_element_by_xpath('//*[@id="J_DataTable"]/div[2]/table/thead/tr[2]/td/div/input[2]').click()

    再定位到3处的下架按钮,点击

    driver.find_element_by_xpath('//*[@id="J_DataTable"]/div[2]/table/thead/tr[2]/td/div/button[1]').click()

    这样就完成了一次操作,最后加入循环即可完成批量操作

     在shell中调试完毕后输入driver.quit()即可关闭浏览器,结束调试,最后把操作过程的代码整合起来,加入各种状态判断(比如是否存在元素之类的)

    上架操作也是如此

    就可以完成脚本了,再用tk简单画个界面,pyinstaller打包一下,就完成了

    =======================================================

    结语:

    python+selenium是非常方便的web自动化操作工具,完全可以使用此工具进行批量操作的脚本开发,提升效率

  • 相关阅读:
    BFS visit tree
    Kth Largest Element in an Array 解答
    Merge k Sorted Lists 解答
    Median of Two Sorted Arrays 解答
    Maximal Square 解答
    Best Time to Buy and Sell Stock III 解答
    Best Time to Buy and Sell Stock II 解答
    Best Time to Buy and Sell Stock 解答
    Triangle 解答
    Unique Binary Search Trees II 解答
  • 原文地址:https://www.cnblogs.com/darkspr/p/8961950.html
Copyright © 2011-2022 走看看