Watir: Как мога да изпълня в watir скрипт специфична функция на javascript, извикана при избор на квадратче за отметка?

В скрипт Watir, след като отметна квадратчета в изскачащ прозорец, се опитвам да изпълня функция на javascript, за да добавя избрани обекти към родителския прозорец.

Това, което работи добре досега, е отметката в квадратчето за отметка, но обектът не се добавя към родителския прозорец и получавам следната грешка, когато изпълних watir скрипта: в `method_missing': execScript (WIN32OLERuntimeError)

Това беше моят подход - моля, уведомете ме какъв друг метод мога да използвам

ie.checkbox(:id => "check_asm0option0").set 
ie.document.parentWindow.execScript("window.triggerOriginalChange(asm0option0, add);","JavaScript") 

tr class="tr_option" rel="asm0option0"
td class="td_check"
input id="check_asm0option0" type="checkbox" value="4dbb118ddca3244e2800003d" rel="asm0option0" name="ignore"
/td
td class="td_li"
li value="0" rel="asm0option0" test /li
/td
/tr

person Anca    schedule 18.05.2011    source източник


Отговори (1)


ако използването на .set не доведе до това, че кодът ви работи по начина, по който очаквате, тогава проверете източника и след това опитайте да използвате .fireEvent, за да задействате събитието, което трябва да задейства скрипта, който трябва да се изпълни.

В този случай бих пробвал

ie.checkbox(:id => "check_asm0option0").fireEvent('onChange')

този подход обикновено е малко по-органичен и по-лесен от опитите за ръчно извикване на скрипта

person Chuck van der Linden    schedule 19.05.2011