SELENIUM 处理WINDOWS 上传 窗口
2014-03-06 13:00
387 查看
selenium无法控制windows窗口,故需要引用第三方工具autoit.
对于下图窗口,selenium是无法定位控制的,可以使用finder tool来查看文件名的属性,class等
1.可以使用autoit工具将以下代码保存为.au3格式,然后run ,成为.exe格式,在代码中调用
在代码中调用,此程序(Helper.RunProgram为封装好的一个方法)
2.或者直接引用:AutoItX3.dll
然后直接在vs上写:
第二种方式:
通过控制台输入代码发现:
显示input:
使用js执行控制上传
对于下图窗口,selenium是无法定位控制的,可以使用finder tool来查看文件名的属性,class等
1.可以使用autoit工具将以下代码保存为.au3格式,然后run ,成为.exe格式,在代码中调用
var Autoit = new AutoItX3(); const string widowTitle = "[Class:#32770]"; //上传窗口的类名:Class:#327700 Autoit.WinWait(widowTitle, "File Upload", 1); //暂停执行脚本,直到上传对话框出现 Autoit.WinActivate(widowTitle, "File Upload"); //激活上传窗口 Autoit.ControlFocus(widowTitle, "File Upload", "[CLASS:Edit; INSTANCE:1]"); //控制焦点在输入框上 //Autoit.ControlSetText(widowTitle, "", "[CLASS:Edit; INSTANCE:1]", "D:\\temp\\Desert.jpg"); //这行代码是另一个输入路径的方法 Autoit.Send(@"D:\123.jpg"); //输入文件路径
在代码中调用,此程序(Helper.RunProgram为封装好的一个方法)
Helper.RunProgram(Helper.GetCurrentDllDir.Replace(@"bin\Debug\", "") + "AutoitScriptExe\\xxx.exe")
2.或者直接引用:AutoItX3.dll
然后直接在vs上写:
var Autoit = new AutoItX3(); const string widowTitle = "[Class:#32770]"; //上传窗口的类名:Class:#327700 Autoit.WinWait(widowTitle, "File Upload", 1); //暂停执行脚本,直到上传对话框出现 Autoit.WinActivate(widowTitle, "File Upload"); //激活上传窗口 Autoit.ControlFocus(widowTitle, "File Upload", "[CLASS:Edit; INSTANCE:1]"); //控制焦点在输入框上 //Autoit.ControlSetText(widowTitle, "", "[CLASS:Edit; INSTANCE:1]", "D:\\temp\\Desert.jpg"); //这行代码是另一个输入路径的方法 Autoit.Send(@"D:\123.jpg"); //输入文件路径
第二种方式:
通过控制台输入代码发现:
document.querySelector('#fileToUpload').className='12'
显示input:
使用js执行控制上传
var js_UploadFile=string.Format("document.querySelector('#fileToUpload').className='12'"); ((IJavaScriptExecutor) driver).ExecuteScript(js_UploadFile); driver.FindElement(By.Id("fileToUpload")).SendKeys("D:\\log.txt"); driver.FindElement(By.CssSelector("table.table-pw_next a.btn_upload")).Click();
相关文章推荐
- Selenium 处理windows 上传 窗口
- selenium处理上传控件、不能操作的windows控件
- Selenium示例集锦--常见元素识别方法、下拉框、文本域及富文本框、鼠标操作、一组元素定位、弹窗、多窗口处理、JS、frame、文件上传和下载
- python selenium处理windows窗口
- selenium上传附件(借助AutoIt识别Windows上传窗口)
- 【selenium webdriver】处理Windows弹出窗口(window handles)
- selenium学习系列--windows窗口处理扩展
- Selenium 处理安全对话框 (windows security dialog)用autoit 来代替
- selenium多窗口切换(windows)
- TeamCity编译执行selenium上传窗口脚本缺陷
- selenium(webdriver)学习笔记5--处理windows security dialog,安全验证
- selenium(java)浏览器多窗口切换处理
- java selenium webdriver处理JS操作窗口滚动条
- windows的窗口消息.处理流程本质.
- selenium2.0 处理各种窗口问题解决方法
- 一个能够检查Windows传递给窗口消息处理程序的键盘内容和字符消息的程序
- Selenium: 处理弹出窗口的workaround
- selenium 多窗口、句柄处理
- selenium中处理不带ID的弹出窗口
- Windows消息队列 UI线程,窗口以及消息处理方式总结