【问题标题】:Getting a Value in a Dyanmic XPath在动态 XPath 中获取值
【发布时间】:2020-12-19 20:42:19
【问题描述】:
 number_of_selected_players = self.driver.find_element_by_xpath("/html[1]/body[1]/main[1]/div[1]/div[2]/div[1]/div[1]/div[1]/div[1]/div[2]/div[4]/div[1]/div[1]/div[1]").value()
 print(number_of_selected_players)

我想从这个特定元素中获取值:

但我最终得到了这个错误:

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html[1]/body[1]/main[1]/div[1]/div[2]/div[1]/div[1]/div[1]/div[1]/div[2]/div[4]/div[1]/div[1]/div[1]"}
  (Session info: chrome=85.0.4183.83)

我该如何解决这个问题,或者您能否指出与此类似的问题,以便我知道我犯了什么错误?

谢谢。

【问题讨论】:

  • 当有人发布代码图片时,很难从中编写代码。大多数人会避免这种情况,因为他们会为您投入时间。因此,如果您想要快速和良好的响应,请不要添加代码截图,只需将该代码添加为帖子的一部分。以便人们可以复制您的案例。请阅读minimal reproducible example 并在以后的每篇文章中关注它。

标签: python selenium selenium-webdriver automation css-selectors


【解决方案1】:

您可以使用following-sibling xpath 命令获取“0 / 15”。

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC

WebDriverWait(self.driver, 50).until(
    EC.presence_of_all_elements_located
    ((By.XPATH,
      '//h3[text()="Players Selected"]/following-sibling::div'))
)
number_of_selected_players = self.driver.find_element_by_xpath('//h3[text()="Players Selected"]/following-sibling::div').text
print(number_of_selected_players)

【讨论】:

  • NoSuchElementException: 消息:没有这样的元素:无法找到元素:{"method":"xpath","selector":"//h3[text()="Players Selected"]/following -sibling::div"}
  • 可以分享完整的html页面源码或者链接吗? html源码中是否有iframe标签?
  • 你能看到吗?
  • 我稍微修改了一下。测试一下。
  • 你只是附上了html的图片,所以解析html有点困难,但是发送我的脚本的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
  • 2017-02-14
相关资源
最近更新 更多