我有一个画布元素(宽度:720,高度:174)。这幅画布有 16 个部分。我试过了
Actions.moveToElement(we,(720/16)*3,1).click().perform();
我希望它在画布的第 3 部分单击,但它总是在第一部分单击。请帮忙!
尝试
Actions.moveToElement(we,0,0).moveByOffset((720/16)*3,1).click().build().perform();
要获取画布标签内元素的坐标,请使用任何在线标尺
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();
在您的项目中包含 Sikuli 库。
截取您想要单击的区域的屏幕截图并将其保存在系统中,并带有名称,可能"openButton"
是以下示例:(如果区域大小较小则更好)
使用 Pattern 和 Screen 类:
Screen obj = new Screen();
Pattern openButton = new Pattern(filepath + "OpenButton.PNG");
s.click(openButton);
有关详细信息,请参阅“如何将 Sikuli 与 Selenium 一起使用”。