淘寶 自動上下架 批量操做 python+chrome+selenium

開發環境:python27+chrome+seleniumpython

首先配置好環境,須要的庫是selenium,pip安裝下便可web

而後是chrome瀏覽器,對應chromedriver.exe   按照本身的chrome版本下載相應的版本(放到腳本目錄下)  http://npm.taobao.org/mirrors/chromedriver/
chrome

準備工做就完成了shell

==============================================npm

需求分析:瀏覽器

此次接到客戶需求是須要批量操做上下架,根據上架編碼來操做,數量大概有幾百個(人工操做無疑是要搞死人的)工具

分析了下需求,以爲用selenium來模擬操做實現比較方便ui

那就開幹吧!編碼

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自動化操做工具,徹底可使用此工具進行批量操做的腳本開發,提高效率

相關文章
相關標籤/搜索