2012-07-23 71 views
0

我有一個很大的畫布區域,這個區域的不同部分有不同的上下文菜單動作。 所以我需要執行上下文菜單點擊特定的座標。Webdriver - 在特定座標下打開上下文菜單

在文檔我只找到這個功能:

element = @@driver.find_element(:xpath, xpath_value) 
@@driver.action.context_click(element).perform 

但我不能指定此背景下點擊座標。這是作品,但只在畫布區域的中心。

是否有任何其他方式來打開上下文菜單? 我也嘗試從鍵盤打開它,但我的測試頁不支持上下文菜單按「Shift」+ F10,只能通過按鍵盤上的「菜單鍵」。 我可以按下WebDriver鍵盤上的菜單鍵嗎?

回答

1
require 'win32ole' 

require "selenium-webdriver" 

driver = Selenium::WebDriver.for :firefox 
driver.navigate.to('http://www.elmcomputers.com/Shortcut_Keys.pdf') 

skey = WIN32OLE.new('Wscript.Shell') 

skey.SendKeys('+{F10}') #SHIFT+f10 

測試和工作。試着用你的頁面看看會發生什麼。我知道你提到它不會接受關鍵組合,但我認爲這與Windows而不是頁面本身有關。看看..

+0

菜單鍵 - 鍵盤上的按鍵,從左邊的右邊「控制」。 http://en.wikipedia.org/wiki/Menu_key對不起,我不能發佈一個網站,因爲它是我們公司的內部 – ShockwaveNN 2012-07-23 10:19:11

+0

好吧沒有親。所以你還需要幫助?我可以發佈關於如何模擬'windows-key'中風的代碼。你還想要它嗎? – 2012-07-23 13:24:18

+0

對不起,我認爲你不明白 - 我不需要'Windows'按鍵。我需要一個'Menu'按鍵。這是關鍵看起來像這樣:http://peltiertech.com/images/2009-08/KeyboardBottomRight.jpg – ShockwaveNN 2012-07-23 13:37:45

相關問題