2013-03-07 111 views
4

我看了一些例子以及ActionChains的源代碼,看起來我正在使用其他示例中提供的代碼來實現懸停功能,但我仍無法克服此異常。代碼如下:找不到python selenium webdriver move_to_element功能

menu = browser.find_element_by_xpath("//nav/ul/li/a[@href='#'][.='Profile']") 
hover = ActionChains(webdriver).move_to_element(menu) 
hover.perform() 

和例外是:

Traceback (most recent call last): 
File "./test.py", line 56, in <module> 
hov.perform() 
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/action_chains.py", line 44, in perform 
action() 
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/action_chains.py", line 201, in <lambda> 
self._driver.execute(Command.MOVE_TO, {'element': to_element.id})) 
AttributeError: 'module' object has no attribute 'execute' 

起初,我認爲這是行不通的,因爲在元素上沒有id屬性,但是我確認,是不是案例(find_element_by_xpath確實返回正確的元素,並且有一些{unique ID}分配給它)。我的Python技能非常初級,但我需要調整我正在處理的測試腳本。我相信我只是不明白這個錯誤。

感謝您的幫助!

回答

8

ActionChains的第一個參數是用於控制瀏覽器的驅動程序實例,即在這種情況下爲browser。請嘗試以下操作:

menu = browser.find_element_by_xpath("//nav/ul/li/a[@href='#'][.='Profile']") 
hover = ActionChains(browser).move_to_element(menu) 
hover.perform() 
+0

是的,那是我的愚蠢。 :-) 接得好! – user1762591 2013-03-07 21:31:33

相關問題