Получение позиции элемента в Watir с использованием AutoITX3.Control или чистого Watir

Я использую Watir с IE. На сайте есть ссылка, которая почему-то не работает с 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.


person carlo.borreo    schedule 24.03.2011    source источник
comment
Я хотел бы сосредоточиться на том, почему вы не получаете диалоговое окно загрузки файла при нажатии на ссылку. Возможно, ваш код делает это неправильно, может быть, есть блокировщик всплывающих окон или даже может быть дефект в Watir. В любом случае, если вы дадите ссылку на тестовый сайт или html-код, я мог бы попробовать.   -  person Dave McNulla    schedule 25.03.2011
comment
Дэйв, я не могу опубликовать, потому что это установка PeopleSoft моей компании. Однако я заметил, что проблема исчезла, когда я переключился на watir-webdriver (щелчок по ссылке работает, без изменений кода), поэтому я не буду исследовать дальше.   -  person carlo.borreo    schedule 25.03.2011


Ответы (1)


Я предполагаю, что вам нужно запустить событие JavaScript: Как найти какие события JavaScript сработали?.

И, как сказал Дейв, покажите нам HTML или дайте ссылку на страницу, если она общедоступна.

person Željko Filipin    schedule 25.03.2011
comment
Вероятно, вы правы, ссылка связана с открытием JavaScript, который загружает страницу с файлом .csv. Однако я заметил, что с watir-webdriver проблема исчезает, поэтому я не буду исследовать дальше. - person carlo.borreo; 25.03.2011