找不到使用Selenium单击href链接的方法(Python 3.7)



检查元件的图片

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()

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

_ngcontent-hyf-c12="routerlink="/销售报告";routerlinkactive=";活动的";href="报告/销售报告";销售额/a

错误图片

如果我尝试用XPATH点击它,就会出现这种情况错误图片

在您的html图片中,我看到Sales后面有一个空白
仔细看: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')]")

最新更新