【问题标题】:How can i retrieve css path of a webelement through Selenium and Python?如何通过 Selenium 和 Python 检索 webelement 的 css 路径?
【发布时间】:2019-06-22 13:57:50
【问题描述】:

我有一个元素列表 (find_elements_by_css_selector),现在我需要获取他们的 css 定位器。我试过类似的东西:

foo.get_property('css_selector')

但它返回None

【问题讨论】:

  • 使用 for 循环并将其应用于循环中的每个元素。
  • 我做了,但它不起作用。
  • CSS 类选择器根据元素类属性的内容匹配元素。您能在此处发布 html 吗?
  • “css_selector”是 WebElement 的有效属性吗?我不熟悉它。您首先使用 css_selector 来查找元素,这不是您要查找的内容吗?
  • 你的问题毫无意义。您声明您使用 python Selenium 并使用 find_by_css 方法获取 webElements 列表,您需要获取它们的“css_locator”属性。这不是标准的 css 属性,因此除非有人声明它,否则如果该属性不存在,尝试获取它会导致 None 值。如果您在 Chrome 或 Firefox 等浏览器中打开网站,则可以查看元素的属性,检查元素并导航到“属性”部分。

标签: python css selenium selenium-webdriver webdriver


【解决方案1】:

从您的问题中不清楚您从 webelement get css path 到底是什么意思。

当您拥有通过find_elements_by_css_selector() 获得的元素列表时,您可能正在寻找每个WebElementCSS 属性 并提取任何您想要的属性可以使用以下解决方案:

foo.value_of_css_property("property_name")

【讨论】:

  • 我实际上认为 OP 需要 css 定位器字符串作为他的元素之一,就像您从为您计算它们的工具中获得的一样,例如 Chrome 的 Inspect > Copy Selector 功能。由于缺乏 OP 的澄清,恐怕这个问题没有答案。
  • @BoboDarph 最初我也这么认为。然后看到 OP 已经使用了find_elements_by_css_selector(),所以他/她完成了 selector 部分。现在结合 elementget_propertycss,唯一令人兴奋的是 CSS property。此外,OP 似乎是一个新的贡献者,因此在构建确切的问题时可能会出现混乱
猜你喜欢
  • 2019-08-09
  • 2014-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-02
  • 2019-05-26
  • 2020-01-02
  • 1970-01-01
相关资源
最近更新 更多