Python Selenium点击xpath元素

时间:2017-10-08 08:54:17

标签: python selenium xpath selenium-chromedriver

我可以找到我想要的元素的XPATH,但它不允许我点击它。具体而言,它会抛出一个" WebDriverException。"

from selenium import webdriver
browser=webdriver.Chrome()
url='https://fred.stlouisfed.org/categories/32261'
browser.get(url)
click=browser.find_element_by_xpath("//a[@title='next page']")
print(click.get_attribute('title'))
click.click()

返回以下错误: enter image description here

2 个答案:

答案 0 :(得分:0)

您无法点击所需元素,因为它目前不可见。在单击之前,您应该向下滚动到“下一步”按钮:

from selenium import webdriver
browser = webdriver.Chrome()
url = 'https://fred.stlouisfed.org/categories/32261'
browser.get(url)
next_button = browser.find_element_by_xpath("//a[@title='next page']")
browser.execute_script("arguments[0].scrollIntoView();", next_button)
next_button.click()

答案 1 :(得分:-1)

所以,XPath就在那里,但我不相信在尝试初始的“click.click()时我实际上是指向它。”可能有一个更好的解决方案,但这似乎现在有效。

   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()