Javascript 在页面上找不到动态元素
第页有一张图表。Javascript 在页面上找不到动态元素,javascript,selenium,Javascript,Selenium,第页有一张图表。 在这里,我只能找到图表边界元素//div[@data-chart\u id='product\u cannabinoids'],但是我无法找到其中的rect、svg或g元素。 我在F12中看到了所有这些元素,但与//div[@data-chart\u id='product\u cannabinoids']//svg或//div[@data-chart\u id='product\u cannabinoids']//rect没有什么区别。 我猜这是某种JavaScript动态元
在这里,我只能找到图表边界元素
//div[@data-chart\u id='product\u cannabinoids']
,但是我无法找到其中的rect
、svg
或g
元素。我在
F12
中看到了所有这些元素,但与//div[@data-chart\u id='product\u cannabinoids']//svg
或//div[@data-chart\u id='product\u cannabinoids']//rect
没有什么区别。我猜这是某种JavaScript动态元素,但仍然不是伪元素。它们看起来像普通元素
那么为什么会发生这种情况,我们如何使用Selenium定位这些元素呢?据我所知,SVG元素与普通元素不同,可能有点棘手 请查看以下回复:
XPATH需要一种不同的方法来查找“svg”和“rect”元素, 使用此语法将有效-
//*[local-name() = 'svg']
这是因为“svg”和“rect”使用不同的XML名称空间
另一种选择是使用css选择器,css通常适用于所有类型的元素。这并不能回答问题,但适合作为注释。是的,感谢jrob。