selenium
  • ruby-on-rails-4
  • rspec
  • capybara
  • chrome-web-driver
  • 2016-10-16 13 views 0 likes 
    0

    Мой HTML-код:Невозможно найти класс в классе водосвинки

    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&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 
    

    , но не смог найти элемент «стер только». Как его найти?

    Исключение я получил это:

    Selenium::WebDriver::Error::ElementNotVisibleError: 
        element not visible 
    

    Примечание Использование хром WebDriver + селен

    +0

    Не удалось поделиться, если возникло исключение? –

    +0

    Попробуйте как "page.find ('. Close', visible: false) .click' и дайте мне знать –

    ответ

    2

    По умолчанию Капибара не находит без видимых элементов (что-нибудь с классом «стер только обычно есть), и даже если вы скажете, что он находит невидимые элементы (через опцию visible: false (или: hidden /: all)), вы не сможете щелкнуть элемент, потому что не было бы способа пользователю нажать на невидимую опцию. Похоже, что вы хотите, чтобы нажать на кнопку закрытия, так что если вы используете Capybara 2.10+ вы должны быть в состоянии сделать

    click_button(class: 'close') 
    

    если используете старую Capybara вы должны быть в состоянии сделать

    find('button.close').click 
    
    +0

    Это исправило мою проблему. Однако есть ли изменения в 2.10? –

    +0

    https://github.com/teamcapybara/capybara/blob/master/History.md - может быть 2.9 опция класса добавлена ​​в –

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

    • Нет связанных вопросов^_^