如何用 webdriver.io 模拟 ctrl-click 或 shift-click?
How to simulate ctrl-click or shift-click with webdriver.io?
使用 webdriver.io 我想用 shift 或 ctrl 等修饰符模拟点击。
keys()
方法似乎做了类似的事情,但我不清楚如何再次释放修改键,并且在我使用 16
时抛出错误(shift[ 的键代码=25=]) 作为方法的参数 -
link.
背景:在我测试的网页中,我有一个与文件浏览器中的文件和文件夹相当的元素列表,并且可以 select 多个具有 shift 的元素 和 ctrl。这很好用,现在我想用 webdriver.io 测试它。为此,webdriver.io 例如必须单击一个元素,然后按 shift,然后单击另一个元素,最后释放 shift 按钮。
有什么办法吗?
编辑:如果你想select不同的元素使用ctrl
键:
client.elements(<css selector for your list of elements>, function(err, res) {
client
.moveTo(res.value[<index of element you want to select>].ELEMENT, 0, 0)
.keys('Ctrl') #every action after this within the scope of `client.elements` will have the `ctrl` key depressed
.buttonPress('left')
.moveTo(res.value[<index of element you want to select>].ELEMENT, 0, 0)
.buttonPress('left')
.moveTo(res.value[<index of element you want to select>].ELEMENT, 0, 0)
.buttonPress('left')
#repeat `.moveTo` and `.buttonPress` for every element you want to `ctrl` select
.keys('NULL'); #This command or `.keys('Shift') will release the `shift` key.
});
To select 使用 shift
键你可以使用下面的代码(假设你想 select 元素列表中的每个项目 - 显然你可以将索引更改为获取元素列表的特定部分)。它将移动到元素列表中第一个元素的左上角,然后左键单击,然后按 shift 键,然后移动到最后一个元素的左上角,再次左键单击,然后释放 shift
键:
client.elements(<css selector for your list of elements>, function(err, res) {
client
.moveTo(res.value[0].ELEMENT, 0, 0)
.buttonPress('left')
.keys('Shift')
.moveTo(res.value[(res.value.length-1)].ELEMENT, 0, 0)
.buttonPress('left')
.keys('NULL'); #This command or `.keys('Shift') will release the `shift` key.
});
使用 webdriver.io 我想用 shift 或 ctrl 等修饰符模拟点击。
keys()
方法似乎做了类似的事情,但我不清楚如何再次释放修改键,并且在我使用 16
时抛出错误(shift[ 的键代码=25=]) 作为方法的参数 -
link.
背景:在我测试的网页中,我有一个与文件浏览器中的文件和文件夹相当的元素列表,并且可以 select 多个具有 shift 的元素 和 ctrl。这很好用,现在我想用 webdriver.io 测试它。为此,webdriver.io 例如必须单击一个元素,然后按 shift,然后单击另一个元素,最后释放 shift 按钮。 有什么办法吗?
编辑:如果你想select不同的元素使用ctrl
键:
client.elements(<css selector for your list of elements>, function(err, res) {
client
.moveTo(res.value[<index of element you want to select>].ELEMENT, 0, 0)
.keys('Ctrl') #every action after this within the scope of `client.elements` will have the `ctrl` key depressed
.buttonPress('left')
.moveTo(res.value[<index of element you want to select>].ELEMENT, 0, 0)
.buttonPress('left')
.moveTo(res.value[<index of element you want to select>].ELEMENT, 0, 0)
.buttonPress('left')
#repeat `.moveTo` and `.buttonPress` for every element you want to `ctrl` select
.keys('NULL'); #This command or `.keys('Shift') will release the `shift` key.
});
To select 使用 shift
键你可以使用下面的代码(假设你想 select 元素列表中的每个项目 - 显然你可以将索引更改为获取元素列表的特定部分)。它将移动到元素列表中第一个元素的左上角,然后左键单击,然后按 shift 键,然后移动到最后一个元素的左上角,再次左键单击,然后释放 shift
键:
client.elements(<css selector for your list of elements>, function(err, res) {
client
.moveTo(res.value[0].ELEMENT, 0, 0)
.buttonPress('left')
.keys('Shift')
.moveTo(res.value[(res.value.length-1)].ELEMENT, 0, 0)
.buttonPress('left')
.keys('NULL'); #This command or `.keys('Shift') will release the `shift` key.
});