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()