【问题标题】:Unable to find class within a class capybara无法在类水豚中找到类
【发布时间】:2016-10-16 03:28:24
【问题描述】:

我的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”。怎么找?

我得到的例外是:

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

注意使用chrome webdriver + selenium

【问题讨论】:

  • 如果有异常可以分享吗??
  • 试试page.find('.close',visible: false).click 告诉我

标签: selenium ruby-on-rails-4 rspec capybara chrome-web-driver


【解决方案1】:

默认情况下,Capybara 不会找到不可见元素(通常是具有“sr-only”类的任何东西),即使你告诉它找到不可见元素(通过 visible: false (或 : hidden/:all) 选项)您将无法单击该元素,因为用户无法单击不可见的选项。好像你想点击关闭按钮,所以如果你使用 Capybara 2.10+ 你应该可以这样做

click_button(class: 'close')

如果使用较旧的Capybara,您应该可以这样做

find('button.close').click

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-22
  • 1970-01-01
  • 1970-01-01
  • 2013-02-01
  • 2017-03-18
  • 1970-01-01
  • 2018-11-24
相关资源
最近更新 更多