首页 > 解决方案 > Rspec capybara Selenium::WebDriver::Error::ElementNotInteractableError 无法滚动到视图中

问题描述

我有这个测试规范:

Scenario "preview offer", js: true do
    ...

    When "I click onto the contact details tab" do
      within_frame "preview-iframe" do
        click_link "Enter details"
      end
    end
    ...
end

但它抛出了一个异常:

Failures:

  1) Preview Offer preview coaching offer booking with Journeyman enabled
     Failure/Error: button.click

     Selenium::WebDriver::Error::ElementNotInteractableError:
       Element <a href="/offers/details"> could not be scrolled into view

实际的html是:

<iframe frameborder="0" id="preview-iframe" name="preview-iframe" scrolling="no" src="/offer">
    ...
        <ul class="list-steps">
            ...
            <li data-page="enter-details">
              <a href="/offers/details">Enter details</a>
            </li>
            ...
        </ul>
    ...
</iframe>

我试图更具体地描述测试用例:

When "I click onto the contact details tab" do
  sleep 5
  execute_script "window.scrollBy(0,500)"
  within_frame "preview-iframe" do
    button = find("#body > div > header > div > div.header__bar > ul > li:nth-child(2) > a")
    button.click
  end
end

但是还是出现同样的错误,我使用 selenium 作为网络驱动程序,有人有这个问题吗?

谢谢你

标签: ruby-on-railsseleniumrspec

解决方案


推荐阅读