Python Selenium通过xpath点击元素
问题描述:
我可以找到我想要的元素的XPATH,但它不会让我点击它。具体来说,它会抛出一个“WebDriverException”。Python Selenium通过xpath点击元素
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()
答
因此,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()
+0
'click.send_keys。 ('next page')'只是一个没有办法解决问题的敏捷解决方法 – Andersson
答
您无法点击所需元素,因为它目前不可见。你应该点击之前向下滚动到“下一步”按钮:
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()
这似乎是利用“send_keys(‘下一页’)之前的‘click.click()’正在 – Kyle