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

#watir #browser-automation #watir-webdriver

#watir #автоматизация браузера #watir-webdriver

Вопрос:

В скрипте 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
  

Ответ №1:

если использование .set не приводит к тому, что ваш код работает не так, как вы ожидали, затем изучите исходный код, а затем попробуйте использовать .fireEvent для запуска события, которое должно запустить скрипт, который необходимо выполнить.

В этом случае я бы попробовал

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

такой подход, как правило, немного более органичен и проще, чем пытаться вызвать скрипт вручную