Получаване на позиция на елемент в Watir, като се използва AutoITX3.Control или чист Watir

Използвам Watir с IE. На уебсайт има връзка, че по някаква причина не работи с Watir. Редът Watir по-долу кара екрана да мига, докато трябва да изтегли CSV файл.

browser.frame(:id, "ptifrmtgtframe").link(:id => 'URL$1').щракнете

За да заменя тази команда, използвах следния скрипт 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