【實戰(zhàn)項目】教你用python批量處理圖片去背景摳圖,電商神器!

"""
片刻摳圖
圖片批量自動摳圖去背景
作者:有霸夫
有問題請加:youbafu
"""
import?time
from?selenium?import?webdriver
from?selenium.webdriver.chrome.service?import?Service
from?selenium.webdriver.common.by?import?By
import?win32con
import?win32gui
import?os
s?=?Service(r'D:\driver\chromedriver.exe')
#?初始化瀏覽器為chrome瀏覽器
browser?=?webdriver.Chrome(service=s)
#?打開?片刻摳圖
browser.get(r'https://www.pickwant.com')
time.sleep(1)
browser.get(r'https://www.pickwant.com/#/editor')
time.sleep(2)
def?點擊重新上傳():
????while?True:
????????try:
????????????#?定位到?重新上傳?按鈕
????????????upload?=?browser.find_element(By.CSS_SELECTOR,?'.border_wrap.upload_wrap')
????????????upload.click()
????????except:
????????????print('請先掃描登錄或完成驗證碼識別')
????????else:
????????????print('點擊?重新上傳')
????????????break
????????finally:
????????????time.sleep(1)
def?上傳圖片(文件路徑):
????dialog?=?win32gui.FindWindow('#32770',?u'打開')??#?對話框
????ComboBoxEx32?=?win32gui.FindWindowEx(dialog,?0,?'ComboBoxEx32',?None)
????ComboBox?=?win32gui.FindWindowEx(ComboBoxEx32,?0,?'ComboBox',?None)
????Edit?=?win32gui.FindWindowEx(ComboBox,?0,?'Edit',?None)??#?上面三句依次尋找對象,直到找到輸入框Edit對象的句柄
????button?=?win32gui.FindWindowEx(dialog,?0,?'Button',?None)??#?打開按鈕
????if?Edit?is?not?None?and?button?is?not?None:
????????time.sleep(0.5)
????????win32gui.SendMessage(Edit,?win32con.WM_SETTEXT,?None,?文件路徑)??#?往輸入框輸入絕對地址
????????print('上傳:',?文件路徑)
????????time.sleep(0.5)
????????win32gui.SendMessage(dialog,?win32con.WM_COMMAND,?1,?button)??#?點?打開?按鈕
????????time.sleep(5)
def?點擊下載():
????while?True:
????????try:
????????????download?=?browser.find_element(By.CSS_SELECTOR,?'.border_wrap.download_wrap')
????????????download.click()
????????????time.sleep(0.5)
????????????confirm?=?browser.find_element(By.CSS_SELECTOR,?'.dialog-content>.content_wrap>.download_wrap')
????????????confirm.click()
????????except:
????????????print('請先掃描登錄或完成驗證碼識別')
????????else:
????????????print('點擊?下載')
????????????break
????????finally:
????????????time.sleep(1)
文件夾路徑?=?r'E:\前任女友'
names?=?os.listdir(文件夾路徑)??#?列舉出該目錄下所有的文件名
for?name?in?names:
????path?=?os.path.join(文件夾路徑,?name)??#?拼接出圖片完整路徑
????點擊重新上傳()
????上傳圖片(path)
????點擊下載()
print('恭喜!全部完成')