首页 > 解决方案 > Capybara 在 Edge 上找不到正确的元素

问题描述

我遇到了一个让我很困惑的问题。我能够在页面上找到元素,但是在与页面底部的元素交互后,如果不滚动到页面顶部,我无法单击页面顶部的元素。这只发生在 Edge 浏览器上(Chrome、Firefox 运行良好)。

我的代码如下:

page.fill_in_form # This part is middle/bottom of page
page.click_button 'SAVE' # This button is middle/bottom of page
page.select_sub_menu 'Category' #This sub menu is top navigation of page

这是错误信息。

Unable to find css "#subnav"

我的 select_sub_menu 功能:

def select_sub_menu(sub_menu)
    within('#subnav') { click_link(sub_menu) }
end

看起来 Capybara 在滚动到页面中间后无法识别页面顶部的元素,尽管它们可用。

我的驱动程序配置如下:

Selenium::WebDriver::Edge.driver_path = "#{file_path}/MicrosoftWebDriver.exe"

有什么解决办法吗?

标签: rubyseleniumcapybaramicrosoft-edge

解决方案


推荐阅读