【发布时间】:2017-10-17 19:45:53
【问题描述】:
我正在尝试右键单击一个元素,然后从列表中选择一个选项“重命名”。我已经“右键单击”工作,但无法从列表中选择选项。引用链接1、2
注1:
1:右键单击时可见的菜单选项是本机上下文菜单。因此,它们不会出现在我可以看到的 DOM 中。
2:App只能在Chrome浏览器中运行(不知道是不是浏览器问题)
我已经尝试了以下代码:
browser.actions().mouseMove(elementVar).perform();
browser.actions().click(protractor.Button.RIGHT).click(protractor.Button.ARROW_DOWN).click(protractor.Button.ARROW_DOWN).click(protractor.Button.ARROW_DOWN).perform();
考虑将“重命名”作为列表中的第三个选项。
注2: 如果我只是运行应用程序并从键盘输入“R”,它会选择“重命名”选项。但是当我试图在我的测试中运行它时,它没有选择“重命名”选项。请参阅我尝试过的以下代码:
browser.actions().mouseMove(elementVar).perform();
browser.actions().click(protractor.Button.ARROW_RIGHT).sendKeys('R',protractor.Key.ENTER).perform();
以上代码均无效。如果需要更多信息,请告诉我。
编辑:
我猜会发生以下情况:
一旦我将鼠标悬停,脚本“右键单击”,然后显示“工具提示”。由于“右键单击”后会显示“工具提示”,我认为菜单列表会进入背景(该列表仍然与工具提示一起可见),这就是向下箭头键不起作用的原因。这可能吗?如果是,如何等待工具提示不可见然后右键单击?
输入:我试图等待工具提示不可见然后右键单击,但“箭头向下”仍然不起作用。
有没有办法在我们右键单击后将菜单列表置于最前面?
重要提示:
我右键点击元素后截图,截图没有显示“菜单列表”。下面是截图代码:
browser.actions().click(protractor.Button.RIGHT).perform()
.then(function() {
browser.takeScreenshot().then(function(screenShot) {
writeScreenShot(screenShot, "image.png");
});
});
//writeScreenShot takes two variables actual screenshot data and the file name. And the screenshot is saved as "image.png"
需要做什么?
【问题讨论】:
-
您是否尝试先点击该元素?
-
是的,我尝试先点击元素,但没有成功。
-
@alecxe:是的,另一个链接也由我发布,因为该线程已停用,还根据我的新研究添加了更多信息并完善了我的问题。此处发布的答案不适用于我的问题。让我知道如何才能关闭此问题,或者您希望我做其他任何事情。
-
@FindABug 我理解并且没有冒犯,但是因为这里没有活动所以发布重复的问题是不可接受的。请参阅stackoverflow.com/help/no-one-answers。谢谢!
标签: select protractor