使用AutoITX3.Control或纯Watir获取Watir中项目的位置

时间:2011-03-24 22:53:34

标签: watir autoit

我在IE上使用W​​atir。 在网站上,有一个链接,由于某种原因,它不适用于Watir。下面的Watir行会导致屏幕闪烁,同时它应该下载一个CSV文件。

browser.frame(:id,“ptifrmtgtframe”)。link(:id =>'URL $ 1')。click

要替换此命令,我使用了以下AutoIt脚本:

#include <IE.au3>
$oIE = _IEAttach ("Process Monitor")
$oIE = _IEFrameGetCollection ($oIE, 0)
$oLink = _IEGetObjById( $oIE, "URL$1" )
$x = _IEPropertyGet($oLink, "screenx")
$y = _IEPropertyGet($oLink, "screeny")
MouseMove( $x + 100, $y + 5 ) 
MouseClick( "left" )

现在,我想将此AutoIt脚本转换为Watir。 最大的问题是,我无法获得链接的X和Y. 你能帮忙吗?

我还检查了this example,但收到错误消息:

I:/watir/abs_pos.rb:47:in '<module:WindowsInput>': uninitialized constant WindowsInput::Win32API (NameError) from I:/watir/abs_pos.rb:46:in '<main>'

我还添加了require 'win32ole',但没有帮助。

我使用Win 7 x64,IE 8。

1 个答案:

答案 0 :(得分:1)

我的猜测是你必须发起一个JavaScript事件:How to find out which JavaScript events fired?

并且,正如Dave所说,向我们展示HTML,或提供页面链接,如果它是公开的。