python - 单击角度链接后驱动程序无法找到元素,但结果也显示在浏览器中
问题描述
我被困在 Python Selenium 中,angular
当我点击它的任何链接时,当我点击它的任何链接时,它显示异常, chromeselenium.common.exceptions.NoSuchElementException
驱动程序显示结果进入驱动程序,但是当我尝试找到结果中出现的任何元素时python selenium
显示异常。
driver.get("https://recruiting.adp.com/srccar/public/RTI.home?c=1153651&d=ExternalCareerSite&rb=ConstellisSite#/")
job_elements = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located(
(By.XPATH, "//a[@class='jobtitle job-title-link']")))
job = job_elements[0]
job.click()
//after some wait when elements visible into driver
driver.find_element_by_xpath("//span[@class='jobTitle job-detail-title']").text
然后异常显示,所以我如何提取在 agular 中单击后出现的元素。帮助将不胜感激。
解决方案
你离得够近了。就像您在收集所需元素之前为visibility_of_all_elements_located()诱导WebDriverWait的方式一样,类似于提取文本K-9 处理程序(波士顿/兼职),您必须诱导WebDriverWait并且您可以使用以下任一定位器策略:visibility_of_element_located()
使用
XPATH
和文本属性:driver.get('https://recruiting.adp.com/srccar/public/RTI.home?c=1153651&d=ExternalCareerSite&rb=ConstellisSite#/') job_elements = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//a[@class='jobtitle job-title-link']"))) job_elements[0].click() print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[@class='jobTitle job-detail-title']"))).text)
使用
CSS_SELECTOR
方法get_attribute()
:driver.get('https://recruiting.adp.com/srccar/public/RTI.home?c=1153651&d=ExternalCareerSite&rb=ConstellisSite#/') job_elements = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//a[@class='jobtitle job-title-link']"))) job_elements[0].click() print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "span.jobTitle.job-detail-title"))).get_attribute("innerHTML"))
控制台输出:
K-9 Handler (Boston/Part Time)
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
参考
您可以在以下位置找到一些关于没有此类元素的相关讨论:
推荐阅读
- jenkins - 无法将部署降级到容器
- ruby - 从 YAML 配置文件中获取键名
- java - UDP 服务器发送/接收
- javascript - Rails 6:渲染部分后执行 JS 函数
- lua - keycreator:21: 尝试在本地 'iLevel' 上执行算术运算(一个 nil 值)
- haskell - 如何从特定形式的数据类型中提取信息?
- flask - 带有 GeoAlchemy 列的 Flask 模型
- javascript - 以不可变的方式删除嵌套数组中的对象
- .net - UiPath Microsoft Graph 身份验证
- microsoft-graph-api - 如何通过 REST API 在 Teams 频道内更新(编辑)Microsoft Teams 消息(线程或回复)