常见的watir-webdriver非标准html元素操作代码
来源:互联网 发布:淘宝一口价规则 编辑:程序博客网 时间:2024/05/17 03:36
1、 如何获取一个元素的像素位置?
location = browser.element(:id, 'xxx').wd.location
x = location[0] ##获取x坐标像素,这里以浏览器页面左上角为相对位置
y = location[1] ##获取y坐标像素
2、 如何使用autoit操作鼠标键盘?
require "WIN32OLE" ##引入WIN32OLE库
autoit = WIN32OLE.new("AutoItX3.Control") ##实例一个autoit对象
autoit.MouseMove(x, y) ##移动鼠标到指定的x,y坐标。这里以显示屏的左上角为相对位置【因为autoit不是只针对浏览器的库,而是Windows通用的库】
autoit.MouseClick("left")
autoit.Send("WSPresentation.avi")
autoit.Send("{ENTER}")
更多关于autoit支持的方法和使用详见:http://www.autoitscript.com/autoit3/docs/functions/Send.htm
3、如何处理JS中的弹框情况?【仅支持alert、confirm、prompt三种对话框】
def deal_alert(browser, operation="")
if browser.alert.exists? # Check if alert is shown
text = browser.alert.text # Gettext of alert
if operation=="ok"
browser.alert.ok #click ok
elsif ["cancel","close"].include? operation
browser.alert.close # click close
end
puts text
else
puts "alert dialog not exist!"
end
end
def deal_confirm(browser, operation="")
deal_alert(browser, operation)
end
def deal_prompt(browser, message, operation="")
if browser.alert.exists? # Check if alert is shown
text = browser.alert.text # Gettext of alert
browser.alert.set message unless message==nil
sleep 1
if operation=="ok"
browser.alert.ok #click ok
elsif ["cancel","close"].include? operation
browser.alert.close # click close
end
puts text
else
puts "alert dialog not exist!"
end
end
更多关于弹框的支持与方法请见:https://github.com/watir/watir-webdriver/issues/112
3、 如何处理文件上传、文件下载等对话框?
关于文件上传、下载【包括安全提示、用户认证等】弹框,watir-webdriver本身并不支持识别与操作。所以无法通过webdriver直接调用。
解决方法:
1、 对于文件上传选择,因为最终目的是设置file的路径,所以可以通过以下实现而避免操作文件上传对话框:
browser.file_field(:id,“xxx”).set(file_path) ##注意文件路径必须有效,否则报错
2、对于其它弹框、或者文件上传不是html实现【如flash】则只能曲线通过autoit模拟鼠标和键盘来实现。
- 常见的watir-webdriver非标准html元素操作代码
- watir-webdriver 区别于watir的一些方法记录
- HTML:常见的元素
- watir-webdriver获取某个标签的值
- 很好的watir-webdriver知识分享
- watir&webdriver初学的笔记(更新)
- WebDriver 操作页面元素
- webdriver加载jQuery代码,并且使用jQuery的写法来定位元素及操作
- watir-webdriver和watir区别
- Selenium WebDriver定位不到元素的常见原因
- Watir-webdriver_ruby元素操作与定位
- watir-webdriver 在线文档
- watir webdriver使用分享
- watir-webdriver相关知识
- watir&webdriver&QTP比较
- Watir-webdriver使用手册
- Webdriver中比较惯用的操作元素的方法
- Webdriver中比较惯用的操作元素的方法
- 解决struts2 下载中文名称乱码问题 适应不同三大主流浏览器 chrome28.0.1500.95、 firefox 23.0.1 、 IE11
- OCP-1Z0-053-V12.02-663题
- 为何选择使用MINA
- solve xcode Undefined symbols for architecture i386:"_OBJC_CLASS_$_SKPSMTPMessage", referenced from
- Myeclipse 实现java 可视化开发
- 常见的watir-webdriver非标准html元素操作代码
- MFC常用类CTime
- java从不同的服务器上下载文件
- android 修改listview item view 的方法
- unityGUI下拉菜单实现代码
- icon
- 【唯美日出win7热门主题】
- 通过jquery获取元素宽高时,此元素必须明确定义了宽高或已经被追加到页面中,否则返回的宽高都是0
- 大数据来袭,悠易掀多屏时代程序化购买浪潮