2011-11-04 85 views
6

我在Linux下使用Selenium 2(Web Driver)和FireFoxDriver。Selenium 2右鍵單擊

我無法使用座標對WebElement或其他位置執行右鍵單擊。我也無法移動鼠標指針。

我曾嘗試使用「操作」對象:

Actions actions = new Actions(ffDriver); 
WebElement we = ffDriver.findElement(By.linkText("WhatEver")) 
actions.contextClick(we).build().perform(); 

我還試圖用「鼠標」對象:

Mouse mouse = ((HasInputDevices)ffDriver).getMouse(); 
mouse.contextClick(we.getCoordinates()); 

這些代碼不會失敗,但他們不什麼都不做。

但是,如果我在上面的兩個示例中執行常規點擊,則按預期工作。

有人知道這有什麼問題嗎?

謝謝。

+0

有沒有人對這個問題的解決方案的想法? –

回答

2

終於我明白了這個問題。

在Selenium 2上,web元素上的「contextClick」函數不會模擬右鍵單擊到該元素,它只是激活放置在元素HTML代碼中的「onContextMenu()」事件。

所以,如果你想訪問那種上下文菜單,它應該在HTML代碼上處理。