首页 > 解决方案 > 找不到使用 selenium (Python 3.7)单击 href 链接的方法

问题描述

检查元素的图片

from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get('https://website.com/')
driver.maximize_window()
search = driver.find_element_by_id('UserName')
search.send_keys('UserName')
search = driver.find_element_by_id('Password')
search.send_keys('Password')
search.send_keys(Keys.RETURN)
try:
    element = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.LINK_TEXT, "Admin"))
    )
    element.click
    link = driver.find_element_by_link_text('Admin')
    link.click()
    
    element = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.LINK_TEXT, "Reports"))
    )
    element.click
    link = driver.find_element_by_link_text('Reports')
    link.click()
    
except:
    driver.quit()
    
driver.implicitly_wait(5)
sales_link = driver.find_element_by_link_text('Sales').click()

以下是来自网站的信息,我想点击销售,但似乎无法这样做,任何帮助将不胜感激

a _ngcontent-hyf-c12="" routerlink="./SalesReport" routerlinkactive="active" href="/Reports/SalesReport"Sales /a

错误图片

如果我尝试使用 XPATH错误图片单击它,则会出现此内容

标签: pythonpython-3.xselenium

解决方案


在您的 html 图片中,我在销售后看到一个空格。
仔细看:href="/Reports/SalesReport">Sales </a

所以find_element_by_link_text('Sales')行不通。
您可以将其更改为find_element_by_link_text('Sales ').

但是,这会更好:

driver.find_elements_by_xpath("//a[contains(text(), 'Sales')]")

推荐阅读