#selenium #ruby-on-rails-4 #rspec #capybara #chrome-web-driver
#selenium #ruby-on-rails-4 #rspec #capybara #chrome-веб-драйвер
Вопрос:
Мой html-код :
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">amp;times;</span><span class="sr-only">Close</span></button>
Я пытался:
1. find(:xpath, "//span[@class='sr-only']").click
2. page.find('.sr-only',visible: false).click
но не смог найти элемент ‘только для sr’. Как его найти?
Исключение, которое я получил, это:
Selenium::WebDriver::Error::ElementNotVisibleError:
element not visible
Обратите внимание на использование chrome webdriver selenium
Комментарии:
1. Может ли поделиться, если возникло какое-либо исключение??
2. Попробуйте as
page.find('.close',visible: false).click
и дайте мне знать
Ответ №1:
По умолчанию Capybara не находит невидимые элементы (как обычно бывает с классом «только sr»), и даже когда вы укажете ему найти невидимые элементы (с помощью опции visible: false (или : hidden /:all)), вы не сможете щелкнутьв элементе, потому что пользователь не сможет щелкнуть по невидимой опции. Похоже, вы хотите нажать кнопку закрытия, поэтому, если вы используете Capybara 2.10 , вы должны быть в состоянии сделать
click_button(class: 'close')
при использовании более старой Capybara вы должны быть в состоянии сделать
find('button.close').click
Комментарии:
1. Это устранило мою проблему. Однако есть ли список изменений для 2.10?
2. github.com/teamcapybara/capybara/blob/master/History.md — может быть 2.9 опция класса была добавлена в