【问题标题】:Can not locate dynamic elements on the page [duplicate]在页面上找不到动态元素[重复]
【发布时间】:2021-07-19 03:26:39
【问题描述】:

this 页面上有一个图表。
在这里,我只能找到图表边界元素//div[@data-chart_id='product_cannabinoids'],但是我无法在其中找到rectsvgg 元素。
我在F12 中看到了所有这些元素,但没有像//div[@data-chart_id='product_cannabinoids']//svg//div[@data-chart_id='product_cannabinoids']//rect 这样的东西提供任何东西。
我猜这是某种 JavaScript 动态元素,但仍然不是伪元素。它们看起来像常规元素!
那么为什么会发生这种情况以及我们如何使用 Selenium 定位这些元素呢?

【问题讨论】:

  • 是的,感谢 jrob。

标签: javascript selenium


【解决方案1】:

据我了解,SVG 元素与普通元素不同,可能有点棘手。

查看此回复:

Selenium WebDriver: clicking on elements within an SVG using XPath

【讨论】:

  • 这不回答问题,但适合作为评论。
【解决方案2】:

XPATH 需要不同的方式来查找 'svg' 和 'rect' 元素, 使用此语法将起作用 -

//*[local-name() = 'svg']

这是因为 'svg' 和 'rect' 使用不同的 XML 命名空间。

另一种方法是使用 css 选择器,css 可以正常处理所有类型的元素。

【讨论】:

    猜你喜欢
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    • 2012-06-25
    相关资源
    最近更新 更多