【问题标题】:How to click on X,Y coordinate on page having google map,using WebDriver?如何使用WebDriver在具有谷歌地图的页面上单击X,Y坐标?
【发布时间】:2013-02-19 17:13:37
【问题描述】:

我想使用 webDriver 在 85% 的空间中单击具有谷歌地图的页面的随机 X、Y 元素。是否有 webdriver 提供的任何功能。谷歌搜索告诉我这个 solution .But clickAt() 需要一个元素,但我只想点击页面。可以 Robot API AWT 有任何帮助。这似乎是 webdriver 的基本功能,但由于缺乏经验,我找不到任何可行的解决方案。

【问题讨论】:

  • 坐标点击通常不是一个好主意,因为它不精确并且会导致测试不稳定。你实际上想点击什么?使用谷歌地图时的最佳选择通常是挂钩到谷歌地图 API 并使用 JavaScript 来触发事件(Selenium 与 元素有问题)

标签: google-maps webdriver selenium-webdriver


【解决方案1】:

我确信有一个可行的解决方案,但在安装时需要小心(至少在 Linux 上)。 SikuliFirefoxDriver 存在利用 webdriver API 和 Sikuli 的出色 OpenCV 工具

这允许您在需要时使用 webdriver,并在需要时添加 Sikuli 图像识别和单击。非常强大的自动化谷歌地图

你可以找到一个例子here

【讨论】:

  • 有 chrome 对应的吗?
【解决方案2】:

你试过Action接口吗?

int xOffset, yOffset;

Actions actions = new Actions(this.drivy);

Action move = actions.moveByOffset(xOffset, yOffset).build();
move.perform();

唯一的问题是,偏移量是相对于最后一个光标位置的。

请问你需要这个做什么?

我不想使用它(也不推荐使用它)。

如果您的浏览器大小发生变化怎么办?

如果你改变你的分辨率怎么办?

编辑:

也许这对你也有帮助:Selenium tests for Google maps

【讨论】:

  • 还没有尝试过。实际上在我的页面地图的 85% 中出现了,但我要单击地图的任何坐标。X 和 Y 偏移量是否可以以 % 为单位给出以避免分辨率问题?
  • 如果您将其包装在一个方法中并自己进行数学运算,这应该不是问题;)您如何测试该映射中的任何内容?
  • 暂时不想做地图测试。只需点击地图上的随机坐标即可。
猜你喜欢
  • 2016-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多