1、環境準備:
1.能夠autoit官網上下載,安裝 http://www.autoitscript.com/site/
2.AutoIt裏面幾個菜單功能介紹:css
3.autoit 在線文檔,是中文版http://www.autoitx.com/Doc/web
2、腳本實現:編輯器
1.先準備好web頁面的環境,以博客園的上傳圖片爲例:添加新隨筆>點圖片上傳>上傳本地圖片>彈出選擇圖片界面,在這裏不要動了工具
2.打開 SciTE Script Editor編輯器,開始寫腳本,代碼很是簡單隻有四行blog
WinActivate("打開");圖片
ControlSetText("打開", "", "Edit1", "F:\11.png");ip
Sleep(2000);ci
ControlClick("打開", "", "Button1");element
3.編輯完成後執行,tools>go ;或者按f5執行,執行完以後就能看到圖片上傳成功了。文檔
4.autoit幾個經常使用的語法
3、元素定位
1.Find Tool 查看元素屬性,用鼠標按住Find Tool下的圖標,而後拖拽到你想定位的元素上
2.查看controlID,controlID即AutoIt Window Info識別出的Class和Instance的拼接
4、導出exe文件
在應用程序裏面找到打開Compile Script to.exe工具,將剛纔導出的.au3文件轉化成.exe文件
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import os,time
'''登陸博客'''
driver = webdriver.Chrome()
driver.get("https://passport.cnblogs.com/user/signin")
driver.implicitly_wait(10)
"""帳號和密碼登陸"""
driver.find_element_by_id("LoginName").send_keys("xxxx")
driver.find_element_by_id("Password").send_keys("xxxx")
driver.find_element_by_id("IsRemember").click()
login = WebDriverWait(driver,5).until(EC.element_to_be_clickable((By.ID,"submitBtn")))
login.click()
driver.find_element_by_link_text("個人博客").click()
time.sleep(2)
driver.find_element_by_link_text("發新隨筆").click()
time.sleep(2)
for i in range(10): # 點開編輯器圖片 driver.find_element_by_css_selector("img.mceIcon").click() time.sleep(3) #定位全部iframe,取第二個 iframe = driver.find_elements_by_tag_name("iframe")[1] #切換到iframe上 driver.switch_to_frame(iframe) # print(iframe) #點擊上傳文件按鈕 # submit = WebDriverWait(driver,5).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"qq-upload-button"))) # submit.click() time.sleep(3) driver.find_element_by_class_name("qq-upload-button").click() # js = 'document.getElementByClassName("qq-upload-button").click();' # driver.execute_script(js) # 執行autoit上傳文件 # os.system(r"C:\Users\Administrator\Desktop\sendfile.exe") #批量上傳圖片 file_name = "F:\\12\\%s.png"%i os.system(r"C:\Users\Administrator\Desktop\send.exe %s"%file_name) time.sleep(3) # 切回到主頁面 driver.switch_to_default_content()