我在 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。