Найти - Пользователи
Полная версия: selenium hover()
Начало » Python для новичков » selenium hover()
1
Notan1310
Доброго времени суток дорогие формучане. Поомгите пожалуйста убрать постоянное исключение. Я хочу знать сколько валидных заявок есть, а в итоге я просто обрабатываю это исключение и не знаю сколько действительных заявок(нажатий на селектор)(этот кусок кода работает только с исключением)

    try:
        hover = ActionChains(driver).move_to_element(element_to_hover_over)
        time.sleep(2)
        driver.find_element_by_xpath(".//*[@id='add-friend']/div/span[text()='Добавить в друзья']").click()
        hover.perform()
        print 'Заявка отправлена'
    except:
         print 'Заявка отправлена но с исключением'

Вот код ошибки

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

Я не понимаю почему на hover() перестает работать. Хотя заявка отправляетя
theproshin
Ты сначала кликаешь по элементу, а потом выполняешь команду perform()
Попробуй так:
try:
        action = ActionChains(driver)
        action.move_to_element(element_to_hover_over).perform()
        time.sleep(2)
        driver.find_element_by_xpath(".//*[@id='add-friend']/div/span[text()='Добавить в друзья']").click()
        print 'Заявка отправлена'
    except:
         print 'Заявка отправлена но с исключением'
Notan1310
Огромное спасибо theproshin за решение. К сожалению не успел до твоего решения дойти. Нашел в документаций то что нужно Документация hover…. Не понял почему сразу не применил.
Вот как стало
    try:
        hidden_submenu = driver.find_element_by_css_selector(".btn-inner.friendship-ctrl.friendship-request-ctrl>span")
        actions = ActionChains(driver)
        actions.move_to_element(menu).click()
        actions.click(hidden_submenu)
        actions.perform()
        print 'Заявка в друзья отправлена'
    except:
         print 'Нельзя добавить в друзья'
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB