右键单击量角器
right click in protractor
我正在尝试使用量角器右键单击一个元素,该元素是 ag-grid 中的一个单元格。
我正在尝试使用我能找到的一些早期建议,唯一没有引发错误的是以下建议:
browser.actions().mouseMove(elementVar).perform();
browser.actions().click(protractor.Button.RIGHT).perform();
虽然它根本没有右键单击。
有什么建议吗?
找到那个问题的答案。我真的很接近,但是对于那些寻找这个问题的人来说,解决方案是这样的:
您传递给 mouseMove 函数的 elementVar 应该是所需的元素 location。这是什么意思?
例如,假设我们有一个名为 'el' 的元素,我们想要右键单击它,我们的代码需要像这样:
async function rightClick (el) {
loc = el.getLocation(); //get the location of the element we want to click
await browser.actions().mouseMove(loc).perform(); //takes the mouse to hover the element
await browser.actions().click(protractor.Button.RIGHT).perform(); //performs the right click
};
从webdriverJs api开始,你可以这样右击一个元素:
browser.actions()
.click($('.myElm'), protractor.Button.RIGHT)
.perform();
基于@Brine 的回答,我设法找到了一个没有 mousemove 东西或 Jquery 的方法。
import { protractor } from 'protractor/built/ptor';
const ele = element(by.id('my_element');
browser.actions().click(ele, protractor.Button.RIGHT).perform();
这肯定不是一个干净的解决方案,但如果您使用的是无头 chrome,上面的所有脚本都可以。
如果您使用的是普通 chrome 蚂蚁,上述解决方案不起作用,请尝试以下解决方法:
await browser.actions().mouseMove(elementFinder).mouseDown().mouseMove(elementFinder).perform();
将此添加到我的 protractor.conf.js
对我有用:
{
capabilities: {
chromeOptions: {
w3c: false
}
}
}
我正在尝试使用量角器右键单击一个元素,该元素是 ag-grid 中的一个单元格。
我正在尝试使用我能找到的一些早期建议,唯一没有引发错误的是以下建议:
browser.actions().mouseMove(elementVar).perform();
browser.actions().click(protractor.Button.RIGHT).perform();
虽然它根本没有右键单击。
有什么建议吗?
找到那个问题的答案。我真的很接近,但是对于那些寻找这个问题的人来说,解决方案是这样的:
您传递给 mouseMove 函数的 elementVar 应该是所需的元素 location。这是什么意思? 例如,假设我们有一个名为 'el' 的元素,我们想要右键单击它,我们的代码需要像这样:
async function rightClick (el) {
loc = el.getLocation(); //get the location of the element we want to click
await browser.actions().mouseMove(loc).perform(); //takes the mouse to hover the element
await browser.actions().click(protractor.Button.RIGHT).perform(); //performs the right click
};
从webdriverJs api开始,你可以这样右击一个元素:
browser.actions()
.click($('.myElm'), protractor.Button.RIGHT)
.perform();
基于@Brine 的回答,我设法找到了一个没有 mousemove 东西或 Jquery 的方法。
import { protractor } from 'protractor/built/ptor';
const ele = element(by.id('my_element');
browser.actions().click(ele, protractor.Button.RIGHT).perform();
这肯定不是一个干净的解决方案,但如果您使用的是无头 chrome,上面的所有脚本都可以。 如果您使用的是普通 chrome 蚂蚁,上述解决方案不起作用,请尝试以下解决方法:
await browser.actions().mouseMove(elementFinder).mouseDown().mouseMove(elementFinder).perform();
将此添加到我的 protractor.conf.js
对我有用:
{
capabilities: {
chromeOptions: {
w3c: false
}
}
}