Python Selenium chromedriver无法单击href链接

Python Selenium chromedriver无法单击href链接,python,selenium-webdriver,xpath,css-selectors,webdriverwait,Python,Selenium Webdriver,Xpath,Css Selectors,Webdriverwait,我正在编写一个脚本来自动收集数据,但在单击链接时遇到了问题。该网站已登录,但我已成功导航。我在尝试导航到下载页面时遇到问题。这是在python中使用ChromeWebDriver实现的 我试过使用: find_element_by_partial_link_text('stuff').click() find_element_by_xpath('stuff').click() #and a few others 当我尝试一些选择器语句时,我得到了以下消息的迭代 NoSuchElementExc

我正在编写一个脚本来自动收集数据,但在单击链接时遇到了问题。该网站已登录,但我已成功导航。我在尝试导航到下载页面时遇到问题。这是在python中使用ChromeWebDriver实现的

我试过使用:

find_element_by_partial_link_text('stuff').click()
find_element_by_xpath('stuff').click()
#and a few others
当我尝试一些选择器语句时,我得到了以下消息的迭代

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"partial link text","selector":"download"}
  (Session info: chrome=88.0.4324.182)
我尝试使用的Html源代码是:

<a routerlink="/download" title="Download" href="/itron-mvweb/download"><i class="fa fa-lg fa-fw fa-download"></i><span class="menu-item-parent">Download</span></a>


谢谢大家!

要单击文本为“下载”的元素,可以使用以下任一选项:

  • 使用
    css\u选择器

    driver.find_element(By.CSS_SELECTOR, "a[title='Download'][href='/itron-mvweb/download'] span.menu-item-parent").click()
    
  • 使用
    xpath

    driver.find_element(By.XPATH, "//a[@title='Download' and @href='/itron-mvweb/download']//span[@class='menu-item-parent' and text()='Download']").click()
    

理想情况下,要单击需要为导入的元素,可以使用以下任一选项:

  • 使用
    CSS\u选择器

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[title='Download'][href='/itron-mvweb/download'] span.menu-item-parent"))).click()
    
  • 使用
    XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@title='Download' and @href='/itron-mvweb/download']//span[@class='menu-item-parent' and text()='Download']"))).click()
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

工具书类 您可以在以下内容中找到有关的讨论:


要单击文本为“下载”的元素,可以使用以下任一选项:

  • 使用
    css\u选择器

    driver.find_element(By.CSS_SELECTOR, "a[title='Download'][href='/itron-mvweb/download'] span.menu-item-parent").click()
    
  • 使用
    xpath

    driver.find_element(By.XPATH, "//a[@title='Download' and @href='/itron-mvweb/download']//span[@class='menu-item-parent' and text()='Download']").click()
    

理想情况下,要单击需要为导入的元素,可以使用以下任一选项:

  • 使用
    CSS\u选择器

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[title='Download'][href='/itron-mvweb/download'] span.menu-item-parent"))).click()
    
  • 使用
    XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@title='Download' and @href='/itron-mvweb/download']//span[@class='menu-item-parent' and text()='Download']"))).click()
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

工具书类 您可以在以下内容中找到有关的讨论:


这是由打字错误引起的<代码>下载区分大小写,请确保将
D
大写

这是由打字错误引起的<代码>下载区分大小写,请确保将
D
大写

什么样的问题?请看。@Seth是的,对不起。现在已更新。似乎是由打字错误引起的<代码>下载需要大写(因为区分大小写)。有哪些问题?请看。@Seth是的,对不起。现在已更新。似乎是由打字错误引起的<代码>下载需要大写(由于区分大小写)。