7

这是我要点击的链接:

<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 由 Request =>

这就是我想要的xpath

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

4

2 回答 2

5

正如我在这里自己的问题中提到的那样,问题将通过ActionChains课堂解决;一个简短的代码在这里:

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

主要问题是,在某些情况下,特别是当您的页面中有一些 javascript 代码时,DOM 会发生变化,并且您之前找到的元素会过时。'ActionChains' 将使其保持活动状态以执行操作。

于 2013-12-08T14:15:17.447 回答
3

您可以尝试使用如下所示的 xpath。它对我有用,因为我使用了最后一个项目。

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

请试一试...

于 2013-07-15T06:18:03.793 回答