0

我在 IE 中使用 Watir。在一个网站上,有一个链接,由于某种原因,它不适用于 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。你能帮我吗?

我也检查了这个例子,但我得到了错误信息:

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。

4

1 回答 1

1

我的猜测是你必须触发一个 JavaScript 事件:如何找出触发了哪些 JavaScript 事件?.

而且,正如 Dave 所说,向我们展示 HTML,或者提供指向该页面的链接(如果它是公开的)。

于 2011-03-25T09:09:31.570 回答