首页 > 解决方案 > 用于测试 SpreadJS 的 Selenium 驱动程序

问题描述

如何根据 spreadJs 中的单元格位置进行点击(事件)?我尝试类似:

sheet.setActiveCell(3,3);
sheet.cellClick();

sheet.getCell(3,3).cellClick();

但它不起作用。如果有任何解决方案或建议,请提前感谢。

标签: jqueryseleniumspreadjsgrapecity

解决方案


您需要做的实际上是使用 selenium 创建一个动作的实例。例如,您可以让 Web 驱动程序打开 Chrome,然后导航到我们的示例之一,如下所示:

var webDriver = new OpenQA.Selenium.Chrome.ChromeDriver();
webDriver.Navigate().GoToUrl("https://www.grapecity.com/en/demos/spread/JS/ExcelMobileSample/");

然后使用 getCellRect 和 SpreadJS 宿主元素的偏移量计算当前页面的 x/y 坐标:

var cellRect = sheet.getCellRect(3, 3);
var host = spread.getHost();
var offset = $(host).offset();
cellRect.x += offset.left + cellRect.width / 2;
cellRect.y += offset.top + cellRect.height / 2;

然后将鼠标移动到单元格的中心位置(在本例中为单元格 D4):

var action = new OpenQA.Selenium.Interactions.Actions(webDriver);
action.MoveByOffset(x, y);

然后最后单击该单元格:

action.Click();
action.Perform();

让我知道这是否有帮助。

问候,

传播团队


推荐阅读