我试图通过控制单击每行来从网格中选择多行,但似乎只单击了第一行。
这是我正在尝试的:
this.selectScan = async function (rows) {
for (let i=0; i < rows.length; i++) {
let scanRow = scansList.element(by.css("div[row=\"" + rows[i] + "\"]")).element(by.css("div[colid=\"originalFilename\"]"));
await browser.actions()
.mouseMove(scanRow)
.keyDown(protractor.Key.CONTROL)
.click()
.keyUp(protractor.Key.CONTROL)
.perform();
}
};
我通过将以下行ID数组作为传递来调用它:
selectScan(["2", "3"]);
我还尝试将所有的按键和鼠标单击链接在一起,然后按照建议的here执行perform(),但这没有帮助。
答案 0 :(得分:0)
我通过模拟CTLR keyDown,然后单击element然后释放CTRL键来使其工作:
public static Stream StringToStream(string s)
{
byte[] buffer = Encoding.UTF8.GetBytes(s);
return new MemoryStream(buffer);
}
public static string StreamToString(Stream s)
{
s.Position = 0;
byte[] buffer = new byte[s.Length];
s.Read(buffer, 0, (int)s.Length);
return Encoding.UTF8.GetString(buffer);
}