1

我在页面上有一个谷歌地图。用户可以单击此地图,它会在该点放置一个标记。如何在 Capybara 中模拟这个?只要它在地图上的某个地方,他们点击的位置并不重要。

4

2 回答 2

0

如果您使用 Selenium 驱动程序,我认为您可以使用ActionBuilder 。它会是这样的:

within_frame(locator_of_frame_with_map) do
  map = find(locator_of_map).native
  page.driver.browser.action.move_to(map, x, y).click.perform
end

上面的代码是草稿。显然,如果没有演示,我无法提供工作代码。

Capybara 本身没有用于单击特定坐标的跨驱动 API。

于 2013-04-20T09:12:46.243 回答
0

在 Capybara 中使用 webkit 驱动程序,我使用了这个:

javascript_to_trigger_click = <<-JS
$('#map > div > div:nth-child(1) > div:nth-child(4) > div:nth-child(1)').click();
JS
page.evaluate_script(javascript_to_trigger_click)

#map我的元素在哪里包含谷歌地图。

旁注,但我在这方面浪费了很多时间,请务必启用任何 url capybara 线程将其测试服务器运行到您的应用程序的谷歌控制台中。config.debug = true(您可以通过设置capybara来查看 url )

于 2016-03-06T00:50:13.680 回答