繁体   English   中英

Python Selenium:无法通过Xpath定位元素

[英]Python Selenium: Unable to locate the element by Xpath

我试图通过硒单击一个保存按钮,但是,我收到了无法找到该元素的错误。

这是网站的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)

您应该使用element_to_be_clickable不仅仅是presence_of_element_located

它看起来应该像这样:

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

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

button = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.ID, "DivFlashViewerMain_SavePdfButtonIcon")))
button.click()

希望这可以帮助!

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

似乎您正在使用许多功能,例如用于查找id =“”的示例。 强烈建议尝试使用CSS选择器: 如何仅对具有特定属性集的元素使用querySelectorAll?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM