2014-09-28 2 views
1

Я новичок в Watir, и я встретил проблему, когда попытался нажать кнопку «Добавить» на веб-сайте. Вот исходный код:Как нажать кнопку в вложенном div?

<div class="page_and_btn"> 
    <div> 
     <a href="javascript:addUser();" class="myBtn"> 
     <em>Add</em></a> 
    </div> 

До сих пор я пытался каким-либо образом я могу найти, но только что получил исключение: unable to locate element. Вот код, который я пробовал:

ie.div(:class,"myBtn").click 
ie.link(:class,"myBtn").click 
ie.link(:text,"Add").click 
ie.button(:text,"Add").click 

Пожалуйста, скажите мне, что я должен делать?

+0

Попробуйте 'ie.div (: class =>" myBtn ") .click' – Bala

+1

'ie.link (: class," myBtn "). click' работает для меня, учитывая образец HTML. Вы можете проверить обычные проблемы - iframes, динамическую загрузку и т. Д. Я составил [список распространенных проблем/решений в книге Watirways] (https://leanpub.com/watirways/read#leanpub-auto-unknownobjectexception --- неспособный к найти-элемент). –

+0

Спасибо за все ваши ответы. Я попробовал ie.div (: class => "myBtn"). Click и ie.link (: class, "myBtn"). Еще раз нажмите, но не сработал. Затем я добавил 10 секунд ожидания чтобы убедиться, что этот элемент закончил загрузку, но он тоже не работает. Теперь я полностью в море ... – Sherry

ответ

0

Вы можете написать короткий селектор
ie.em(:text => 'Add').click
, но лучше будет писать длинные
ie.div(:class => 'page_and_btn').em(:text => 'Add').click

очень полезный метод флэш
, что показать элемент на странице
ie.div(:class => 'page_and_btn').em(:text => 'Add').flash

+0

Спасибо за ваше предложение. Но я получил исключение: не удалось найти элемент, используя {: class = > "page_and_btn",: tag_name => "div"} (Watir :: Exception :: UnknownObjectException). Я схожу с ума ... – Sherry

+0

для отладки Я использую ripl https://github.com/cldwalker/ripl 'камень установить ripl' моей отладку сценарий выглядит следующим образом: требуется 'RIPL' требует 'RIPL/multi_line' первой части сценария Ripl.start: binding => binding # эта строка остановила ваш скрипт и запустила ripl закончила часть скрипта – Stepan

+0

Еще раз спасибо. Но я не понимаю вас хорошо. Это означает, что я должен установить драгоценные камни «ripl» и «ripl/multi_line "? Если это так, я использую эти драгоценные камни, но получаю только те же исключения. – Sherry

0

ie.link (: class, 'myBtn'). click работает отлично для меня. Если вы не можете продолжить дальше, попробуйте выполнить код ниже. ie.div (: class, 'page_and_btn'). Link (: class, 'myBtn'). Em (: текст, 'Добавить'). Нажмите

+0

Спасибо за вашу помощь. Я пробовал ваш код, но получил это исключение: не удалось найти элемент, используя {: class => "page_and_btn",: tag_name => "div"} (Watir :: Exception :: UnknownObjectException) – Sherry