2016-05-31 62 views
1

使用Python和webdriver--我试图包装一个硒调用move_to_element(),所以我可以在一个页面对象中调用它以用于测试脚本。可能在方法中包装ActionChains move_to_element()?

例如,我有:

def find_element(self, locatorMode, Locator): 
element = None 
if locatorMode == LocatorMode.ID: 
    element = self.driver.find_element_by_id(Locator) 
elif locatorMode == LocatorMode.NAME: 
    element = self.driver.find_element_by_name(Locator) 
elif locatorMode == LocatorMode.XPATH: 
    element = self.driver.find_element_by_xpath(Locator) 
elif locatorMode == LocatorMode.CSS_SELECTOR: 
    element = self.driver.find_element_by_css_selector(Locator) 
else: 
    raise Exception("Unsupported locator strategy.") 
return element 

def hover_over(self, locatorMode, Locator): 
    self.find_element(locatorMode, Locator).move_to_element() 

它不断给我一个属性错误。我试图通过一个变量,没有运气。我在这里错过了什么?这个动作链操作可能吗?

回答

0

在从https://stackoverflow.com/a/37576260/5471457

我能得到这个工作的建议:

def hover_over(self, waitTime, locatorMode, Locator): 
    element = self.wait_for_element_visibility(waitTime, locatorMode, Locator) 
    actions = ActionChains(self.driver) 
    actions.move_to_element(element) 
    actions.perform()