首页 > 解决方案 > Python Selenium:无法通过 Xpath 定位元素

问题描述

我正在尝试通过 selenium 单击保存按钮,但是,我收到无法找到元素的错误。

这是网站的 html 部分

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.get("xxx")

WebDriverWait(driver,10).until(EC.presence_of_element_located(driver.find_element_by_id("DivFlashViewerMain_SavePdfButtonIcon")))
driver.find_element_by_xpath('//*[@id="DivFlashViewerMain_SavePdfButtonIcon"]').click()

这是我得到的错误:

NoSuchElementException:没有这样的元素:无法找到元素:{“method”:“id”,“selector”:“DivFlashViewerMain_SavePdfButtonIcon”}
(会话信息:chrome = 74.0.3729.169)(驱动程序信息:chromedriver = 74.0.3729.6(255758eccf3d244491b8a1317aa76e1ce10d57e9- refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.17763 x86_64)

标签: pythonselenium

解决方案


driver.find_elements_by_css_selector('[id="DivFlashViewerMain_SavePdfButtonIcon"]')[0].click()

似乎您正在使用很多功能,例如定位 id=""。强烈建议尝试 css-selectors: How to use querySelectorAll only for elements that have a specific attribute set?


推荐阅读