selenium+Chrome 上傳圖片到1688搜索類似產品

環境:python3.6

庫:pip3 install win32gui

另外需要安裝chromedriver插件,安裝方式:https://blog.csdn.net/t8116189520/article/details/95173975

本篇主要講述的是如何通過selenium上傳圖片到1688,然後獲取同類型商品數據

 

 

1.第一步:打開https://www.1688.com/,點擊相機圖標

 

 

 

2.第二步:定位彈出的系統窗口,並輸入圖片路徑,搜索同產品

 

 

 

第三步:獲取頁面數據

 

 

 

代碼實現如下:

from selenium import webdriver
import win32gui
import time
import win32con

driver = webdriver.Chrome()
# 全屏顯示
driver.maximize_window()
driver.get('https://www.1688.com/') # 獲取1688頁面
time.sleep(2)
# 將彈框叉掉
try:
    input = driver.find_element_by_xpath("//div[@class='home-identity-dialog']/span[@class='identity-close']/i[@class='identity-icon identity-close-icon']")
    input.click()
except:
    pass

# 點擊相機標籤,彈出上傳文件窗口
input_2=driver.find_element_by_xpath("//span[@class='sm-widget-picbtn']/em[@class='pic-icon']")
input_2.click()
time.sleep(0.5)


uploadwindow = win32gui.FindWindow('#32770', "打開")  # 定位“文件上傳 窗口;窗口名稱“打開”
time.sleep(0.5)
# print '1',uploadwindow
# 最後輸出,如果輸出0說明定位失敗了
parent = win32gui.FindWindowEx(uploadwindow, None, 'ComboBoxEx32', None)
# print '2',parent
Combobox_real = win32gui.FindWindowEx(parent, None, 'ComboBox', None)
# print '3',Combobox_real
Edit_box = win32gui.FindWindowEx(Combobox_real, None, 'Edit', None)
# print '4',Edit_box
# 這段代碼是先定位到最上層的父窗口,再逐層定位到輸入框(chrome於FF有所不同,FF下可以直接定位)

url_c =r'C:\Users\admin\Desktop\221100.jpg'

win32gui.SendMessage(Edit_box, win32con.WM_SETTEXT, None, url_c)
openbuttonname = u'打開(&O)'

openbutton = win32gui.FindWindowEx(uploadwindow, None, "Button", openbuttonname)  # 定位“保存”按鈕

win32gui.PostMessage(openbutton, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, 0)

win32gui.PostMessage(openbutton, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, 0)

time.sleep(2)

# 獲取商品offer_id 並打印
a=0
while True:
    a+=1
    offer="offer"+str(a)
    try:
        category_data=driver.find_element_by_xpath('//*[@id="%s"]'%offer)
        category_id= category_data.get_attribute('offerid')
        print(category_id)
    except:
        break

運行結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章