web自动化9-selenium.Windows上传文件

AutoIt安装

1、首先打开AutoIt Windows Info 工具,鼠标点击Finder Tool,鼠标将变成一个小风扇形状的图标,按住鼠标左键拖动到需要识别的控件上。

通过AutoIt Windows Info 获得以下信息。

窗口的title为“选择要加载的文件”,标题的Class为“#32770”。

文件名输入框的class 为“Edit”,Instance为“1” ,所以ClassnameNN为“Edit1”。

打开按钮的class 为“Button”,Instance为“1” ,所以ClassnameNN为“Button1”。

2、根据AutoIt Windows Info 所识别到的控件信息打开SciTE Script Editor编辑器,编写脚本。

;ControlFocus("title","text",controlID) Edit1=Edit instance 1
ControlFocus("选择要加载的文件", "","Edit1")
 
 
; Wait 10 seconds for the Upload window to appear
  WinWait("[CLASS:#32770]","",10)
 
 
; Set the File name text on the Edit field
 
  ControlSetText("选择要加载的文件", "", "Edit1", "D:\\upload_file.txt")
 
  Sleep(2000)
 
; Click on the Open button
 
  ControlClick("选择要加载的文件", "","Button1");

  ControlFocus()方法用于识别Window窗口。WinWait()设置10秒钟用于等待窗口的显示,其用法与WebDriver 所提供的implicitly_wait()类似。ControlSetText()用于向“文件名”输入框内输入本地文件的路径。这里的Sleep()方法与Python中time模块提供的Sleep()方法用法一样,不过它是以毫秒为单位,Sleep(2000)表示固定休眠2000毫秒。ControlClick()用于点击上传窗口中的“打开”按钮。

  AutoIt的脚本已经写好了,可以通过菜单栏“Tools”-->“Go” (或按键盘F5)来运行一个脚本吧!注意在运行时上传窗口当前处于打开状态。

  3、脚本运行正常,将其保存为upfile.au3,这里保存的脚本可以通过Run Script 工具将其打开运行,但我们的目的是希望这个脚本被Python程序调用,那么就需要将其生成exe程序。打开Compile Script to.exe工具,将其生成为exe可执行文件。如图

点击“Browse”选择upfile.au3文件,点击“Convert”按钮将其生成为upfile.exe程序。

4、下面就是通过自动化测试脚本调用upfile.exe程序实现上传了。

#coding=utf-8

from selenium import webdriver

import os

driver = webdriver.Firefox()

#打开上传功能页面

file_path =  ‘file:///‘ + os.path.abspath(‘upfile.html‘)

driver.get(file_path)

#点击打开上传窗口

driver.find_element_by_name("file").click()

#调用upfile.exe上传程序

os.system("D:\\upfile.exe")

driver.quit()

时间: 2024-12-25 03:33:26

web自动化9-selenium.Windows上传文件的相关文章

Xshell实现Windows上传文件到Linux主机

实现从xshell终端linux系统上传rz.下载sz命令文件:只需要安装这个包即可. [[email protected] src]# yum install -y lrzsz 3.从Windows上传文件,上传命令为rz:在Linux命令行下输入rz,上传的文件在当前命令行的目录下: [[email protected] src]# rz 输入rz命令后,会弹出对话框,选择你要上传的文件,选择打开就上传到Linux主机.上传完可以使用ls 查看: 也可以直接拖曳文件到xshell终端. 4.

putty windows上传文件到linux服务器 & 从linux服务器 下载文件到 windows

从putty官网下载putty软件:putty.exepscp.exepsftp.exe等软件 也可以自己下windows安装包putty-0.63-installer.exe 本人直接下载putty-0.63-installer.exe安装包了,然后直接安装 使用pscp方式从windows上传文件到linux服务器 在CMD命令行中进入到putty安装目录 输入pscp 回车 pscp 跟我们平时使用的linux scp命令操作的都是类似的 现在我直接从windows本地上传一个文件到lin

sftp方式从windows上传文件到Linux服务器

今天我一直用scp想实现从windows上传文件到Linux服务器,但是鼓捣了半天也没有实现.后来查资料才发现,scp实现文件的上传和下载貌似只能在Linux和Linux之间实现.(欢迎指正不对的地方) 后来开始转用sftp来解决上述问题,其中也是遇到了不少坑,下面说一下比较合理的步骤: 首先声明,我是在Windows上通过xshell5来连接远程服务器的,连接成功后如下图: 然后用sftp连接远程服务器:sftp 192.168.167.178: 再然后,修改本地上传的文件夹路径:先点击这个按

windows上传文件到 linux的hdfs

一.windows上传文件到 linux的hdfs 1.先在 centos 上开启 hdfs, 用 jps 可以看到下面信息, 说明完成开启 2.在win上配置 hadoop (https://www.cnblogs.com/Jomini/p/11432484.html) 后, 要在 hadoop 的 bin 文件上放以下两个文件(网上找下载), 3.创建 maven 工程, 运行读写程序 pom 文件 <dependency> <groupId>org.apache.loggin

Selenium+java上传文件

自动化调用: AutoIT脚本编译成可执行文件后,放在本地的某一个目录下 上传文件时,首先定位到[上传]字样文本,点击该按钮 执行编辑后的可执行文件,实现文件上传 一.安装AutoIT3,主要用到的工具 AutoIt Windows Info   用于帮助我们识Windows控件信息. Compile Script to.exe 用于将AutoIt生成 exe 执行文件. Run Script            用于执行AutoIt脚本. SciTE Script Editor   用于编写

从Windows上传文件到Ubuntu的一种方法

由于学习需要,需要从Windows操作系统上传文件到Ubuntu中,度娘上的方法很多,这只是其中一种--借助WinSCP软件,优点:软件易于安装.整体操作非常简单.不说了,先上文.. 1.安装WinSCP  软件下载地址:http://rj.baidu.com/soft/detail/15150.html?ald 2.通过命令:ifconfig  在Ubuntu上查看IP地址: 3.在Windows操作系统上打开winSCP软件,登录winSCP 4.登录winSCP之后在windows和Ubu

小白向:web中利用request.getPart()上传文件到服务器

被文件上传弄得焦头烂额的一天,果然web中的路径和各种设置真的好讨厌= = 下面是超级小白的.及其简约的"详"解 1.明确目的: 用户将 1.txt 文件 上传到 服务器(web工程下的某个文件夹)中 2.明确过程 文件上传的过程涉及两个文件, 一个 .jsp文件,和 一个 servlet 文件. .jsp文件(upload.jsp):用户操作页面 =显示文件名的文本框+文件选择按钮(浏览...)+确认上传按钮 servlet文件(uploadServlet.java):根据.jsp中

Ascall 码特殊字符——去除从windows上传文件的^M

在windows上编辑过的文件如果传到unix上,在每个文件的末尾都会有一个换行控制符^M,这个字符一般处于隐藏状态,除非cat -A才能看到,如果不去掉这个符号,很多脚本不能正常运行,很多文件不能正常被正则表达式匹配,去除类似的控制字符是让这些文件恢复正常使用的必须步骤: 根据上面的ascall字符代码表,左边两列非打印控制字符显示了每个字符的ascall码,接下来的工作就是用正则表达式匹配出这些字符然后去除就ok了,去除对应ascall码的字符,只需要转义对应的八进制值即可: 例如,想要去除

从windows上传文件到linux,中文名乱码解决方法

上传一个名称为"一级页面.html"的文件到linux服务器 ll命令查看文件名是乱码 在windows上将html文件压缩为test.zip,上传到linux服务器 再在服务器上unzip解压,解压后文件名称就显示正常了. 此种方法对目录也有效.