如何使用量angular器在canvas上的特定位置执行单击事件

我被困在这个问题上很长一段时间,我不知道该怎么去做。

我试图自动地图应用程序的地点和位置。 当你点击特定的位置时,它将打开有关位置或地点的详细信息。 地图上有一个canvas,HTML代码如下所示:

<canvas width="642" height="741" oncontextmenu="return false;" type="layer" class="tmc" style="user-select: none; left: 0px; top: 0px; position: absolute; width: 642px; height: 741px;"></canvas> 

这个canvas基本上是一个地图,我想在具有一些数据的特定位置执行鼠标点击事件。

我的非点击事件看起来像这样

 browser.sleep(10000).then(function () { var canvas = element(by.xpath("xpath")); canvas.click(); }); 

但有些我怎么也达不到欲望的结果。 请帮忙

另请查看下面的UI的截图。 在这里输入图像描述

我可以同情尝试自动化基于canvas的应用程序的痛苦,HTML中没有任何内容,完整的地图直接从浏览器中的canvas元素呈现。 即使谷歌地图也行为相同。 在HTML中只有canvas元素,并且与页面交互的唯一方法是使用Protractor的actions API

你可以尝试这样的事情。 这在gMaps上适用于我。

 describe('Describe something', function() { it('check check', function () { browser.driver.get('https://www.google.co.in/maps/place/Hyderabad,+Telangana/data=!4m2!3m1!1s0x3bcb99daeaebd2c7:0xae93b78392bafbc2?sa=X&ved=0ahUKEwiMosHAy9rSAhVCt48KHYP5DBMQ8gEIgQEwDQ') browser.driver.actions(). // Move mouse to a particular position mouseMove({x: 636, y: 292}). // Click or hoverOver on the location doubleClick(). perform(); }); });