-1

Я использую рамки робота с selenium2library, чтобы сделать некоторые тесты, Вот мой тестовый файл:тест Селен терпит неудачу при использовании XPath

*** Settings *** 

Library Selenium2Library 

*** Variables *** 

${URL_LOCATION}  http://localhost:9000/apps/depot/# 
${BROWSER_TYPE}  chrome 

*** Test Cases *** 

Open browser to DEPOT page 

    Open Browser  ${URL_LOCATION} 
    Click Element xpath=//div[@class="btn action xlarge nav-next"] 

Проблема заключается в том, что после того, как сделать первый шаг «Open Browser» успешно, второй шаг терпит неудачу, и я не могу понять, почему ...

Вот часть страницы, которая доказывает, что существует элемент:

<div class='block action-block'> 
    <div class='btn action xlarge nav-next'>{{t step.next.caption }} 
</div> 

Благодаря ...

+0

Как это происходит? Какая у вас ошибка? Является ли этот html внутри iframe? –

+0

Ошибка: «ValueError: Element locator» xpath = // div [@ class = "btn action xlarge nav-next"] 'не соответствует никаким элементам. " И не внутри iframe только divs –

ответ

1

Учитывая этот короткий фрагмент страницы, трудно сказать. Но я бы попробовал следующее:

  • Используйте Wait Until Element Is Visible перед тем, как нажать элемент. Используйте Set Selenium Timeout, чтобы установить соответствующий тайм-аут для этого. Вы должны получить хотя бы лучшее сообщение об ошибке.
  • Используйте консоль Firefox (или аналогичную в других браузерах), чтобы проверить ваше выражение Xpath.
  • Используйте выражение Xpath относительно некоторого другого элемента. Что-то вроде //div[@class='block action-block']/div
  • Выполните Javascript напрямую. Если есть какой-то элемент с идентификатором, например, вы могли бы назвать что-то вроде этого Execute Javascript document.getElementById("parent").children[0].click()
  • Попробуйте другие команды щелчков, например Click Button. У меня недавно был вопрос, что Click Element locator не работал, но Click Link linkname сделал.

Наконец, в моем опыте я всегда использовал одиночные кавычки в выражениях Xpath. Но я думаю, это не проблема.

+2

Как это отличается от того, что OP уже делает? –

+0

Он имеет одинарные кавычки. –

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