ruby-on-rails - 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
- 我添加了
sleep 5
因为给 iframe 内容完全加载的时间 - 添加滚动以确保页面可滚动到视图?
- 指定要单击的按钮
但是还是出现同样的错误,我使用 selenium 作为网络驱动程序,有人有这个问题吗?
谢谢你
解决方案
推荐阅读
- ios - XCode中企业应用程序的iOS字幕设置在哪里
- python - Ubuntu 上的 Anaconda 2.7 未启动
- c - 如何找到给定数字中最大的整数no
- python - 有没有办法将 google colab 表单重置为默认值?
- c++ - 英特尔实感皮重校准
- java - 在java中放入hashmap时如何从对象中排除属性
- javascript - 将函数从上下文传递给组件以更新上下文中的状态
- java - java.lang.UnsupportedClassVersionError: org/openqa/selenium/WebDriver : 从 Java 7 到 Selenium 的不支持的 major.minor 版本 52.0 错误
- php - 将 PHP 类别数组转换为多个子类别的 HTML 面包屑
- javascript - “选择”未定义 react/jsx-no-undef