Форум сайта python.su
0
Доброго времени суток дорогие формучане. Поомгите пожалуйста убрать постоянное исключение. Я хочу знать сколько валидных заявок есть, а в итоге я просто обрабатываю это исключение и не знаю сколько действительных заявок(нажатий на селектор)(этот кусок кода работает только с исключением)
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'
Отредактировано Notan1310 (Янв. 9, 2015 20:47:45)
Офлайн
1
Ты сначала кликаешь по элементу, а потом выполняешь команду 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 'Заявка отправлена но с исключением'
Офлайн
0
Огромное спасибо 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 'Нельзя добавить в друзья'
Офлайн