自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PyAutoGUI,輕松搞定圖片上傳!

開(kāi)發(fā) 前端
開(kāi)始用的阿里云的免費(fèi)對(duì)象存儲(chǔ)oss,但又是登錄又是設(shè)置讀寫(xiě)權(quán)限的,稀碎的操作令人疲憊。能不能簡(jiǎn)單點(diǎn),自動(dòng)上傳,并且馬上能得到文件的網(wǎng)絡(luò)地址。于是開(kāi)始探索輕量級(jí)的方案,手動(dòng)給自己搞一個(gè),

最近用vuepress建了個(gè)博客,音樂(lè)的背景圖片需要網(wǎng)絡(luò)地址。

圖片

還有博客自動(dòng)復(fù)用的摘要圖片也需地址。


圖片

開(kāi)始用的阿里云的免費(fèi)對(duì)象存儲(chǔ)oss,但又是登錄又是設(shè)置讀寫(xiě)權(quán)限的,稀碎的操作令人疲憊。能不能簡(jiǎn)單點(diǎn),自動(dòng)上傳,并且馬上能得到文件的網(wǎng)絡(luò)地址。于是開(kāi)始探索輕量級(jí)的方案,手動(dòng)給自己搞一個(gè),一鍵復(fù)制開(kāi)箱即用的的上傳頁(yè)面:

圖片

把文件傳到自己的云服務(wù)器上,傳完后自帶文件地址和copy按鈕,流程頓時(shí)清爽了許多。

接下來(lái)的問(wèn)題是,圖片準(zhǔn)備好了,十幾張,怎么傳更輕松點(diǎn)?這時(shí)背景音樂(lè)響起“王牌飛行員pyautogui請(qǐng)求出戰(zhàn)”。優(yōu)秀,機(jī)械重復(fù)的操作(如刷新網(wǎng)頁(yè)、搶票、某些小游戲等)無(wú)疑是你的拿手好戲。

實(shí)時(shí)獲取鼠標(biāo)的當(dāng)前坐標(biāo)

這點(diǎn)很重要,因?yàn)樗械狞c(diǎn)擊操作都基于坐標(biāo),就像selenium的操作基于xpath路徑一樣:

import time, os
import pyautogui as pag
try:
while True:
#print('Press Ctrl-C to end')
x, y = pag.position() #返回鼠標(biāo)的坐標(biāo)
print('Position : (%s, %s)' % (x, y)) # 打印坐標(biāo)
time.sleep(1) #每個(gè)1s中打印一次 , 并執(zhí)行清屏
os.system('cls') #執(zhí)行系統(tǒng)清屏指令

except KeyboardInterrupt:
print('end')

輸出如下,鼠標(biāo)放在哪就會(huì)顯示哪個(gè)地方的x,y坐標(biāo):

Position : (937, 668)
Position : (1320, 689)
Position : (836, 579)
Position : (669, 585)

開(kāi)始上傳了

上傳的操作頁(yè)面我已建好:

http://ssw.fit/upload

獲取到鼠標(biāo)坐標(biāo)就好辦了,一路點(diǎn)擊,瘋狂輸出。selenium還有驗(yàn)證碼、反爬蟲(chóng)等限制,這個(gè)你自己的電腦,還不是想點(diǎn)哪就點(diǎn)哪。先點(diǎn)擊“選擇文件”按鈕。

import pyautogui
pyautogui.click(307, 227)
time.sleep(2.5)

# 彈出對(duì)話框后,點(diǎn)擊路徑那一欄,目的是為下一步粘貼路徑
pyautogui.click(993, 332)
time.sleep(1.5)

typerwrite鍵入文件路徑。

每臺(tái)電腦的文件路徑不一樣,讓pyautogui的typerwrite輸入圖片文件夾的路徑,不加時(shí)間參數(shù),輸入速度飛快。

# 鍵入圖片路徑
pyautogui.typewrite('C:/Users/0717/Pictures/blog/upload')
# 按回車(chē)鍵
pyautogui.hotkey('enter')
time.sleep(1)

圖片

雙擊選中圖片

圖片的位置是固定的,所以可以取前5或前10張圖片的坐標(biāo)。下次再上傳多張圖的話,先清空文件夾,把圖片拷貝到文件夾就好了。

pyautogui.doubleClick(x,y)

圖片

點(diǎn)擊“上傳”按鈕

上傳需要時(shí)間,sleep一會(huì)。

pyautogui.click(304, 278)
#上傳需要時(shí)間,預(yù)算等多久
if x == 847:
#847是第一張圖片的x坐標(biāo),因?yàn)槲疑蟼鞯牡谝粡埵莋if動(dòng)圖,文件大,上傳多等幾秒
time.sleep(11)
else:
time.sleep(2.5)

點(diǎn)擊"copy"按鈕

圖片上傳完后會(huì)自動(dòng)生成copy按鈕,點(diǎn)擊它直接復(fù)制文件的網(wǎng)絡(luò)地址。

pyautogui.click(304, 278)

圖片

熱鍵ctrl+v,回車(chē),網(wǎng)頁(yè)訪問(wèn)圖片

pyautogui.hotkey('ctrl','v')
time.sleep(0.5)
pyautogui.hotkey('enter')

每張照片傳完再自動(dòng)粘貼地址和網(wǎng)頁(yè)瀏覽,看看剛上傳的圖片多漂亮:

圖片

所以,腳本結(jié)束前,讓我們欣賞美圖3秒:

time.sleep(3)

點(diǎn)擊瀏覽器的返回按鈕

最后一步,欣賞完,返回主頁(yè)面進(jìn)入下一張圖片的上傳流程!

pyautogui.click(32, 67)
time.sleep(2)

圖片

完整腳本

總結(jié)一下,這里用到的pyautogui操作:

  • 單擊click
  • 雙擊doubleClick
  • 輸入文字typewrite
  • 熱鍵組合hotkey('ctrl','v')?,熱鍵回車(chē)hotkey('enter')
import time
import pyautogui

def auto_upload(x,y,file_path):
# 點(diǎn)擊”選擇文件“按鈕
pyautogui.click(307, 227)
time.sleep(2.5)

# 彈出對(duì)話框后,點(diǎn)擊路徑那一欄,目的是為下一步粘貼路徑
pyautogui.click(993, 332)
time.sleep(1.5)

# 鍵入圖片路徑
pyautogui.typewrite(file_path)
# 按回車(chē)鍵
pyautogui.hotkey('enter')
time.sleep(1)

# 雙擊圖片
pyautogui.doubleClick(x,y)
# 等文件出現(xiàn)
time.sleep(6)

# 點(diǎn)擊“上傳”按鈕
pyautogui.click(304, 278)
#等幾秒傳完
if x == 847:
#847是第一張圖片的x坐標(biāo),因?yàn)槲疑蟼鞯牡谝粡埵莋if動(dòng)圖,文件大,上傳多等幾秒
time.sleep(11)
else:
time.sleep(2.5)

# 點(diǎn)擊“copy”按鈕
pyautogui.click(297, 545)
time.sleep(1)

# 點(diǎn)擊瀏覽器的地址欄
pyautogui.click(410, 66)

# 模擬鍵盤(pán)點(diǎn)擊ctrl+v,然后按回車(chē)鍵
pyautogui.hotkey('ctrl','v')
time.sleep(0.5)
pyautogui.hotkey('enter')

#欣賞美女3秒
time.sleep(3)

# 點(diǎn)擊瀏覽器的返回按鈕
pyautogui.click(32, 67)
time.sleep(2)

#文件的x,y坐標(biāo)
file_list = [(847, 489),(965, 490),(1136, 493),(1271, 504),(1391, 498)]
[ auto_upload(f[0],f[1],'C:/Users/0717/Pictures/blog/upload') for f in file_list]

運(yùn)行過(guò)程

上傳2張圖片,整個(gè)腳本運(yùn)行起來(lái)是這樣的:

圖片

最后一個(gè)問(wèn)題

上傳了好幾張,都到哪去了?這里可以看到啦:http://ssw.fit/free/。

圖片

責(zé)任編輯:武曉燕 來(lái)源: Python技術(shù)
相關(guān)推薦

2009-12-17 14:36:57

Ruby on Rai

2009-12-11 15:37:58

Linux日志處理

2017-05-11 15:01:43

Androidweb布局

2009-10-23 17:51:51

Oracle用戶(hù)密碼

2025-02-07 08:39:32

Shell部署測(cè)試

2010-09-17 14:04:14

JVM內(nèi)存設(shè)置

2020-05-11 10:59:02

PythonWord工具

2024-08-09 08:52:26

2010-06-04 09:08:56

2010-07-27 14:25:02

linux文件編碼

2009-11-12 10:53:57

ADO.NET連接My

2024-08-02 09:00:17

NettyWebSocketNIO

2009-09-13 20:28:38

Linq插入數(shù)據(jù)

2024-08-26 08:27:18

2010-09-13 14:17:34

2009-12-03 11:37:56

Suse Linux

2010-01-21 16:57:35

交換機(jī)網(wǎng)關(guān)設(shè)置

2016-03-17 17:35:15

云容器虛擬化管理Docker

2009-11-24 15:34:41

DNS服務(wù)器組建

2011-05-23 14:15:31

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)