1

我正在开发一个基本的 firefox 插件,我想测试上下文菜单中是否存在某个项目(在页面上的任意位置单击鼠标右键后显示)。

我已经看到我可以使用marionetteselenium-webdriver我找不到一种方法来单击页面上的任何位置并断言给定项目存在于上下文菜单中。

我很难简单地单击鼠标右键(甚至不谈论检查项目是否在上下文菜单中......)。

根据有关ActionSequence我应该使用click并提供右键单击的文档。我无法让它工作。这是我到目前为止尝试过的

const webdriver = require('selenium-webdriver');
const Capabilities = require('selenium-webdriver/lib/capabilities').Capabilities;
const input = require('selenium-webdriver/lib/input');

var capabilities = Capabilities.firefox();

capabilities.set('marionette', true);

var driver = new webdriver.Builder().withCapabilities(capabilities).build();

driver.get('http://localhost');

// Using a element for opt_elementOrButton
driver.actions().click(driver.findElement(webdriver.By.css('#changes')), input.Button.RIGHT).perform();

// Using right buttons
//driver.actions().click(input.Button.RIGHT, input.Button.RIGHT).perform();

// Using only one argument, as the second argument opt_button is "Ignored if a button is provided as the first argument"
//driver.actions().click(input.Button.RIGHT).perform();

//driver.quit();
4

1 回答 1

0

您可以通过使用来执行右键单击,Actions.contextClick()但您将无法访问上下文菜单以验证是否存在选项等。执行右键单击的示例代码如下。

WebElement e = driver.findElement(locator);
Actions action = new Actions(driver);
action.contextClick(e).build().perform();

参考 https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/Actions.html#contextClick--

于 2016-08-09T15:28:23.177 回答