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自动化操作工具,完全可以使用此工具进行批量操作的脚本开发,提升效率

  • 相关阅读:
    (转)Unity3D研究院之IOS&Android收集Log文件
    (转)C#中的委托(Delegate)和事件(Event)
    c# event Action 判断事件列表中是否存在这个委托
    电子商务 B2C 结构图【转载+整理】
    几个随机算法【转载+整理】
    Windows 2008 R2 配置 DNS 实现二级域名
    Perl、PHP、Python、Java 和 Ruby 比较【转载+整理】
    .NET 托管、非托管、本地:这些代码有什么区别?
    AWR
    HTTP 响应实体主体:XML 及 XML parser
  • 原文地址:https://www.cnblogs.com/darkspr/p/8961950.html
Copyright © 2011-2022 走看看