使用 Capybara 查找图像映射区域

Finding imagemap areas using Capybara

我想使用 Capybara 模拟点击图像中由图像映射的 area 元素定义的区域。在该特定元素的 class/id 属性上使用带或不带 visible: true.find 不起作用 - 我收到 Capybara::Poltergeist::ObsoleteNode 错误或 Capybara::ElementNotFound 错误.相反,如果我只是像这样通过 Javascript 触发它,那么我的测试就会通过:

page.execute_script('$(".ClassSelector").trigger("click")')

所以页面正常工作,但我想知道我是否可以在编写测试时避免execute_script

我正在使用 capybara 2.5 和 poltergeist 1.7

Current poltergeist 似乎不适用于图像映射(本周末我将着手解决该问题),并且 return 会出现一个错误,指出将单击另一个元素。 Selenium 确实可以正确处理图像映射,因此您可以拥有那些需要图像映射 运行 with selenium 的规范。

更新 - 我在 2016 年 1 月 24 日将点击图像地图的区域元素的支持合并到 poltergeist master 分支中 - 它应该在下一个版本中