3

我有一个画布元素(宽度:720,高度:174)。这幅画布有 16 个部分。我试过了

Actions.moveToElement(we,(720/16)*3,1).click().perform(); 

我希望它在画布的第 3 部分单击,但它总是在第一部分单击。请帮忙!

4

3 回答 3

2

尝试

Actions.moveToElement(we,0,0).moveByOffset((720/16)*3,1).click().build().perform(); 
于 2013-11-06T06:51:30.310 回答
1

要获取画布标签内元素的坐标,请使用任何在线标尺

Actions clickAt = new Actions(d);
clickAt.moveToElement(d.findElement(By.xpath("your canvas id here")), 60, 30).click();
clickAt.moveToElement(d.findElement(By.xpath("your canvas id here")), 90, 30).click();
clickAt.build().perform();
于 2018-07-09T04:41:04.237 回答
0
  1. 在您的项目中包含 Sikuli 库。

  2. 截取您想要单击的区域的屏幕截图并将其保存在系统中,并带有名称,可能"openButton"是以下示例:(如果区域大小较小则更好)

  3. 使用 Pattern 和 Screen 类:

    Screen obj = new Screen();
    
    Pattern openButton = new Pattern(filepath + "OpenButton.PNG");
    
    s.click(openButton);
    

有关详细信息,请参阅“如何将 Sikuli 与 Selenium 一起使用”。

于 2020-05-26T20:00:09.267 回答