2016-02-09 5 views
0

Проблема: Брус нажмите на этот элемент с именем «» BT_SEARCHНевозможно нажать на элемент в Капибара

<tr> 
    <td ...> 
     <input type="submit" name="BT_SEARCH" value="Hae" onclick="document.forms['DForm'].elements['LPAGE'].value=1"> 
    </td> 
</tr> 
  1. нажмите «Хэ» возвращает: неопределенный метод `для #object нажмите»: ...

  2. click_button 'Хэ' возвращается: Не удается найти кнопку "Хэ" ...

  3. click_link 'Хэ' возвращается: Не удается найти ссылку "Хэ" ...

  4. находка (: XPath, «//input[@name='BT_SEARCH']").click оленья кожа кажется, найти элемент.

Я не могу изменить источник, и нет доступных идентификаторов или классов. Кроме того, страница использует ASP, который, как я полагаю, вызывает проблему.

ответ

0

Проблема заключалась в том, что элемент находился внутри iframe.

within_frame решается вопрос:

within_frame (frame_id) do 
    click "Hae" 
end 

Смешение было то, что нажмите может найти элемент без within_frame (но это было не кликабельны), в то время как click_on или найти может не.

0

Вы можете попробовать нижеуказанным способы щелкнуть элемент:

  1. find("input[name=\"BT_SEARCH\"]").click
  2. page.execute_script("$('input[name=\"BT_SEARCH\"]').trigger('click')")

Надеюсь, это поможет :)

0

Проходя через ваши попытки -

  1. #click только на элементах, возвращенных из находки так называть его не на элементе никогда не будет работать

  2. #click_button нажимают на кнопки элементов и элементах ввода с типом представить, сброс, изображения или кнопку. Это будет соответствовать всем тем, против ид или значение - так учитывая ваш пример это должно было сработать

  3. #click_link кликов по ссылкам - входной элемент не является ссылкой, так это должно не удалось

  4. принимая XPath соответствует элементу (который он, как представляется, сделать), это должно было сработать

так что ваши попытки # 2 и # 4 оба должны работать, если страница, как указано. Вы не указали точную ошибку, которую вы получаете за # 4, но поскольку №2 дала вам ошибку «Не удалось найти ...», я предполагаю, что №4 тоже. В этом случае возможны две возможные возможности: 1. Элемент на самом деле не находится на странице. Если элемент должен быть добавлен на страницу JS, убедитесь, что нет ошибок JS, которые блокируют добавление элемента , 2. Элемент не отображается на странице - Выполнять любые действия пользователя, чтобы сделать вход видимым до попытки его щелчка.

Смежные вопросы