2011-05-02 10 views
8

Próbuję uruchomić mysz nad zdarzeniem za pomocą elementu move_to_element w grze ActionChains, ponieważ nie można go uruchomić. Każda pomoc jest doceniana. Dzięki.Czy ktoś użył ActionChains z Webdriver (Python binding)?

+0

Spróbuj actor.py zamiast: https://gist.github.com/2036553 - to pozwala nazwać działania bezpośrednio zamiast przechowywania ich, a następnie wywołanie "wykonania". –

Odpowiedz

7

Również bawiłem się z ActionChains w Pythonie dzisiaj i zdałem sobie sprawę, że double_click nie działa tylko kliknij. Jak wygląda twój kod? Aby wykonać jakąkolwiek zmianę akcji, musisz wykonać perform.

def setUp(self): 
    self.webdriver = webdriver.Ie() 
    self.mouse = webdriver.ActionChains(self.webdriver) 
    self.webdriver.get("http://foo") 

def test_webdriver(self): 
    mouse = self.mouse 
    wd = self.webdriver 
    wd.implicitly_wait(10) 
    element = wd.find_element_by_xpath("//div[@title='Create Page']") 
    mouse.move_to_element(element).perform() 
6
from selenium.webdriver.common.action_chains import ActionChains 

ActionChains(drivers).move_to_element(drivers.find_element_by_id('element_id')).click().perform() 

jeśli chcesz wybrać dowolną wartość,

menu1 = drivers.find_element_by_xpath('html/path/of/select/box') 
sub_menu0 = drivers.find_element_by_xpath('html/path/of/selected/option') 
clickon = drivers.find_element_by_xpath(path/of/option/where/you/want/to/click) 
action = ActionChains(drivers) 
action.move_to_element(menu1) 
action.move_to_element(sub_menu0) 
action.click(clickon) 
action.perform() 
+0

'drivers' musi być po prostu kiepską konwencją nazewnictwa – User

0

byłem coraz ActionChains nie jest określony błąd aż importowane actionchains z selenem. Potem był w stanie wykorzystać actions.move_to_element() i() actions.click

from selenium.webdriver.common.action_chains import ActionChains 
Powiązane problemy