【发布时间】:2017-02-27 23:46:59
【问题描述】:
我在具有大型 DOM(1000 行,约 10,000 个节点)的页面上使用 selenium。我试图确定一个元素是否存在,它几乎位于 DOM 的最后。
结构是这样的:
<html>
<body>
<section></section>
<script></script>
<span>
// several more wrappers around the UL
<ul id="itemsList"></ul>
</span>
</body>
</html>
section 节点包含 99% 的行。
我知道 UL 总是在同一个地方。
我使用的 XPath 如下:
//body/span//ul
如果 UL 存在,则搜索时间
由于我使用的是 selenium,我也尝试过使用 By.Id,但这给出了相同的结果。
【问题讨论】:
-
你的代码中有隐式超时吗?
-
除了上面的评论,我建议尝试使用 getElementsByXpath(或 List
) 并检查该列表的大小。 -
考虑在硬盘驱动器中搜索从根目录 (C:) 开始的文件。与从 C:\Users\you\Documents\projects\foobar\meetingMinutes\2015\January\ 开始相比,您在 XPath 中指定的 DOM 结构越多,selenium 必须搜索的路径数越少,速度越快该搜索将完成。
-
@MikeJRamsey56 但我指定的是
body/span。由于body中只有一个span节点,因此不应该遍历整个 DOM
标签: selenium dom xpath selenium-webdriver