Selenium3+Python3_16:文件上传

inupt标签可以直接通过send_keys上传文件

非input标签,AutoIt上传

1.安装AutoIt

2.AutoIt菜单介绍

SciTE Script Editor编辑器,用于编写AutoIt脚本

AutoIt Windows Info元素定位器,用于识别Windows控件信息

Run Script 执行AutoIt脚本

Compile Script to.exe 将AutoIt生成可执行文件

3.文件上传的步骤:

a. 定位windows控件元素

b. 打开SciTE Script Editor编辑器, 编写代码如下:

扫描二维码关注公众号,回复: 8186904 查看本文章

       WinActivate(“文件上传”)

       ControlSetText(“文件上传”, “”, “Edit1”, $CmdLine[1])

       # ControlSetText(“文件上传”, “”, “Edit1”, “D:\1.png”)  

       Sleep(2000)

       ControlClick(“文件上传”, “”, “Button1”)

c. 保存为 .au3 的文件(编辑器中go可以运行调试)

d. 打开Compile Script to.exe 将AutoIt生成可执行的exe文件

步骤b无参数化,cmd中可以执行exe文件:打开到添加文件窗口,cmd中执行exe文件

如:D:\text.exe

步骤b有参数化,cmd中可以执行exe文件/ au3文件,后加文件名,如:D:\text.au3 a.txt

e. python中执行exe文件

import os

os.system(r”D:\text.exe”) #无参数化的写法

jpg = “D\1.jpg”

os.system(r”D:\text.au3 %s” %jpg)  #有参数化的写法

4.批量上传图片, 通过for循环

方法一:先把要上传的图片放到一个list下,然后for循环

all_png = [“D:\\1.png”, “D:\\2.png”]

for i in all_png:

       # 1.点开编辑器图片

       # 2.点开上传文件按钮

       # 3.执行autoit上传文件

       os.system(“D:\text.exe %s” % i)

       time.sleep(3)

方法二:把要上传的文件编号,从0开始,如:0.png, 1.png。 放到同一个目录下,然后for循环

for i in range(4):

       # 1.点开编辑器图片

       # 2.点开上传文件按钮

       # 文件名

       file_name = “D:\\%s.png” %i #参数化路径名称

       #执行autoit上传文件

       os.system(“D:\text.exe %s” % file_name)

       time.sleep(3)

猜你喜欢

转载自www.cnblogs.com/elaine888/p/11415715.html
今日推荐