如何点击带有水豚的谷歌地图来创建标记

时间:2013-04-19 21:39:40

标签: google-maps capybara

我在页面上有一个谷歌地图。用户可以单击此地图,它将在该点删除标记。我如何在Capybara模拟这个?只要它在地图上的某个位置,它们点击的位置无关紧要。

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分: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来查看网址)