0

我正在開發一個基本的Firefox插件,我想測試某個項目是否出現在上下文菜單中(在右鍵單擊頁面後顯示)。firefox sdk,marionette:斷言該項存在於上下文菜單中

我已經看到我可以使用marionetteselenium-webdriver,但我找不到一種方法來單擊頁面上的任何位置並聲明給定的項存在於上下文菜單中。

我很困難,只需右鍵單擊(甚至沒有談論檢查項目是否在上下文菜單中......)。

根據the documentation on 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(); 

回答

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--

+0

謝謝你,但我使用'node',它看起來像右鍵(此方法'driver.actions()。點擊(input.Button.RIGHT)。執行();')不能與'firefox'一起工作(使用'chrome'進行調查完美)......任何想法可能會出錯? – user7890