无法在 class 只水豚中找到 class

Unable to find class within a class capybara

我的 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

但无法找到元素 'sr-only'。如何找到?

我得到的异常是:

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

注意 使用 chrome webdriver + selenium

默认情况下,Capybara 不会找到不可见元素(class 为 'sr-only' 的任何东西通常都是),即使您告诉它找到不可见元素(通过visible: false(或 :hidden/:all)选项)你将无法点击该元素,因为用户无法点击不可见的选项。看起来你想点击关闭按钮,所以如果你使用的是 Capybara 2.10+,你应该能够做到

click_button(class: 'close')

如果使用较旧的水豚,您应该可以做到

find('button.close').click