Нажав на ссылку, используя селен, используя python

Вот ссылка, которую я пытаюсь щелкнуть:

<a href="#" onclick="OpenAddKeywords();return false;" id="btnAddKeywords">Add Keywords</a> 

Я попробовал несколько вариантов (перечисленные ниже), но они не сработали; есть идеи?

  1. self.br.find_element_by_xpath("//*[@id='btnAddKeywords']").click()
  2. self.br.execute_script("OpenAddKeywords();return false;")

Это ошибка, которую я получил для execute_script :

  Message: u'Error Message => \'Can\'t find variable: OpenAddKeywords\'\n caused by Request => 

И это тот, который у меня есть для xpath :

 Message: u'Error Message => \'Unable to find element with xpath \'//*[@id=\'btnAddKeywords\']\'\'\n caused by Request => 

2 Solutions collect form web for “Нажав на ссылку, используя селен, используя python”

Как я уже упоминал в моем собственном вопросе, проблема будет решена с помощью класса ActionChains ; короткий код здесь:

 el = driver.find_element_by_id("someid") webdriver.ActionChains(driver).move_to_element(el).click(el).perform() 

Основная проблема заключается в том, что в некоторых случаях, особенно когда у вас есть несколько кодов javascript на вашей странице, DOM изменится, и элемент, который вы нашли ранее, будет зациклен. «ActionChains» сохранит его для выполнения действий.

Вы можете попробовать использовать xpath, как показано ниже. Он работает для меня, потому что я использовал последний проект.

 driver.find_element_by_xpath("xpath").click() 

Попробуйте …

  • Как получить текст элемента в Selenium WebDriver (через Python api) без включения текста дочернего элемента?
  • Selenium webdriver + Процессы PhantomJS не закрываются
  • Как скачать файл с помощью селена?
  • Python Selenium: Как отправить клавишу ESC, чтобы закрыть всплывающее окно?
  • Отправка и получение данных с веб-страницы - Selenium
  • Отключить изображения в Selenium Python
  • Python Selenium Safari, отключить ведение журнала
  • Безголовый бесконечный свиток селена
  • Python - лучший язык программирования в мире.