python - 找不到使用 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错误图片单击它,则会出现此内容
解决方案
在您的 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')]")
推荐阅读
- javascript - 使用 setState 获得太多的重新渲染
- javascript - 如何使用 socket.io 发送长的复杂数组?
- vba - 如何使用 VBA for powerpoint 使幻灯片中的形状出现在另一张幻灯片中?
- javascript - 表单提交后添加 POST 参数
- android - 使用 Retrofit2 将 + 4500 个项目(每列 7 列)插入 SQlite 数据库
- mfc - Visual Studio 开始运行时清除命令行参数
- git - pip install git repo 仅构建
- node.js - 如何 ssr Svelte 并从 node js 中的 express 传递数据
- unit-testing - 在类中模拟单个函数仍在运行该函数 - Phpunit 8.2
- javascript - 如何使用我的徽标制作加载微调器