Я получаю следующее сообщение об ошибке при запуске моего питона/селена скрипт:Вызов ActionChains move_to_element() приводит к ошибке атрибута?
AttributeError: объект «WebElement» не имеет атрибута «move_to_element»
Что это конкретное сообщение об ошибке сказать? Не признает ли move_to_element действительным действием? Я импортировать модуль actionchains как таковой:
from selenium.webdriver.common.action_chains import ActionChains
Я могу использовать щелчок() и send_keys() действия без проблем.
def wait_for_element_visibility(self, waitTime, locatorMode, Locator):
element = None
if locatorMode == LocatorMode.ID:
element = WebDriverWait(self.driver, waitTime).\
until(EC.visibility_of_element_located((By.ID, Locator)))
elif locatorMode == LocatorMode.NAME:
element = WebDriverWait(self.driver, waitTime).\
until(EC.visibility_of_element_located((By.NAME, Locator)))
elif locatorMode == LocatorMode.XPATH:
element = WebDriverWait(self.driver, waitTime).\
until(EC.visibility_of_element_located((By.XPATH, Locator)))
elif locatorMode == LocatorMode.CSS_SELECTOR:
element = WebDriverWait(self.driver, waitTime).\
until(EC.visibility_of_element_located((By.CSS_SELECTOR, Locator)))
else:
raise Exception("Unsupported locator strategy.")
return 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 fill_out_field(self, locatorMode, Locator, text):
self.find_element(locatorMode, Locator).clear()
self.find_element(locatorMode, Locator).send_keys(text)
def click(self, waitTime, locatorMode, Locator):
self.wait_until_element_clickable(waitTime, locatorMode, Locator).click()
def hover_over(self, waitTime, locatorMode, Locator):
element = Locator
self.wait_for_element_visibility(waitTime, locatorMode, Locator).move_to_element(element).perform()
Я пытаюсь назвать это так:
self.hover_over(10,
"id",
WelcomePageMap['ShareButtonId']
)
Показать полный код. Я понятия не имею, почему вы считаете, что импорт - это единственная информация, которая нам нужна. –
, пожалуйста, поделитесь точным кодом, где вы столкнулись с ошибкой – nullpointer