水豚与硒:无法单击隐藏的元素

nmg49

我的情况是,可点击图标仅在包含div的鼠标悬停时才可见(使用Knockout JS,SCSS)。像这样的东西:

的HTML

<div id="button_div">
   <i id="icon" data-bind="click: dosomething"></i>
</div>

SCSS

i {
  display: none;
}

#button_div:hover {
   i {
      display: block;
   }
}

页面上的所有内容都可以正常运行,但是我似乎无法弄清楚如何单击Capybara中的元素。我尝试将:visible符号添加到方法中,但是没有运气:

find('#icon', visible: false).click

这给我一个“ Selenium :: WebDriver :: Error :: ElementNotVisibleError”错误。

使用:

Capybara.ignore_hidden_elements = false

给我完全相同的错误

我也尝试过使用Selenium Action,例如:

button_div_element = find('#button_div').native
button_element = find('#button', visible: false).native
page.driver.browser.action.move_to(button_div_element).click(button_element).perform

虽然这不会引发错误,但也不会单击按钮。

有人知道我可能做错了什么吗?

nmg49

经过一番艰苦的尝试和错误,我设法找到了可行的解决方案

button_div = find("#button_div_id").native
icon = find("#icon_id").native
page.driver.browser.action.move_to(button_div, :right_by => -50).click.perform
icon.click

不知道为什么我必须手动告诉Capybara向左移动50px,但这似乎可以解决问题。

另外,我在安装代码中添加了以下行:

page.driver.browser.manage.window.maximize

这样可以确保在运行测试之前最大化窗口。我不确定100%,但这可能与修复有关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

水豚与硒:无法单击隐藏的元素

来自分类Dev

无法用水豚强制单击隐藏的元素

来自分类Dev

如何从水豚元素中提取硒元素?

来自分类Dev

水豚硒sqlite错误

来自分类Dev

python硒无法单击下拉菜单中的隐藏元素

来自分类Dev

当使用Poltergeist时,水豚会返回隐藏的元素吗?

来自分类Dev

水豚:单击由图标类找到的元素

来自分类Dev

无法使用硒单击元素

来自分类Dev

水豚无法在模式中单击窗体按钮,并且不同的水豚驱动程序会看到不同的结果

来自分类Dev

水豚无法在模式中单击窗体按钮,并且不同的水豚驱动程序会看到不同的结果

来自分类Dev

从水豚/硒“监听” AJAX呼叫-Rails

来自分类Dev

让水豚等待元素消失

来自分类Dev

水豚如何匹配元素

来自分类Dev

水豚poltergeist单击不起作用

来自分类Dev

水豚代码以单击图像按钮

来自分类Dev

单击带有水豚的图标

来自分类Dev

UI反应水豚按钮单击测试

来自分类Dev

硒无法访问隐藏的元素

来自分类Dev

硒测试无法单击垫选择元素

来自分类Dev

硒| 无法单击<Span>下的元素

来自分类Dev

无法使用硒单击迭代元素

来自分类Dev

水豚找不到ID的元素

来自分类Dev

即使在页面上可见,水豚也无法检测到元素

来自分类Dev

期望的黄瓜水豚硒竞争状况(全部())

来自分类Dev

水豚-硒-Ruby-测试动态ID

来自分类Dev

如何测试公寓,Minitest,水豚和硒

来自分类Dev

记录在Browserstack中运行的RSpec硒/水豚测试

来自分类Dev

硒水豚,悬停菜单跳过动画显示

来自分类Dev

无法在水豚中选择选项