2015-06-26 35 views
0

我想在執行右鍵單擊後選擇「返回」。我可以得到右鍵菜單。當我嘗試選擇「返回」時出現錯誤。 下面是代碼:如何使用量角器/ Javascript在瀏覽器菜單上選擇右鍵菜單項?

browser.driver.findElement(By.linkText("Back")).click(); 

我使用的是Mac操作系統的Chrome瀏覽器。

以下是錯誤:

Message: NoSuchElementError: no such element (Session info: chrome=43.0.2357.130) (Driver info: chromedriver=2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9cf),platform=Mac OS X 10.10.3 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 23 milliseconds

+0

你得到了什麼錯誤? – alecxe

+0

右鍵單擊不是網絡的事情,只是不。 –

+0

顯示如何執行右鍵單擊和菜單的HTML結構。 – alecxe

回答

0

您可以使用下面的jQuery代碼來檢測單擊鼠標右鍵

$('#element').mousedown(function(event) { 
    switch (event.which) { 
     case 1: 
      alert('Left Mouse button pressed.'); 
      break; 
     case 2: 
      alert('Middle Mouse button pressed.'); 
      break; 
     case 3: 
      alert('Right Mouse button pressed.'); 
      break; 
     default: 
      alert('You have a strange Mouse!'); 
    } 
}); 

而且你可以撥打下面的代碼來執行後退按鈕動作(或轉到最後訪問的頁面)

window.history.back(); 

希望這是你在找什麼。

+0

我想要做的是讓瀏覽器菜單出現,並在出現的瀏覽器菜單上選擇不同的項目。我需要,因爲它與應用程序進行交互。 – llacey

0

您可能試圖在菜單出現之前單擊該菜單。

var driver = browser.driver, 
wd = browser.wd, 
until = wd.until, 
elementToRightClick = driver.findElement(wd.By.linkText('foo')); 
driver.actions().click(elementToRightClick,wd.Button.RIGHT).perform(); 
driver.wait(until.elementIsVisible(driver.findElement(wd.By.linkText('back')),5000, 'Element back was not visibile'); 
driver.findElement(wd.By.linkText('back')).click(); 
+0

謝謝,但上面的代碼不起作用。問題是沒有找到「返回」。 – llacey

+0

我在等待中早些時候有一個錯字。現在編輯它。你的右鍵點擊工作,你確定後面的選擇是正確的嗎? – nilesh

+0

右鍵點擊工作。我看到菜單。將嘗試你編輯的代碼。會讓你知道發生了什麼。謝謝 !! – llacey

相關問題