如果填充5个术语,我认为DOM元素“很难被选中”:
它没有任何标识符(ID,类或唯一属性)。
在网页的每个服务器创建中动态创建Xpath
。
它是同一标记的众多元素之一(例如div
),其中的数量也是动态的,因此像document.querySelector('div')[322]
这样的特定项目引用将主要无效
由于来自具有ID
的父元素的道路非常大(如25-30个元素),因此单独使用HTML会有点令人沮丧。如果ID是动态创建的,也是不可能的。
其他元素共享元素的textContent
(尽管只有当您打开包含它们的手风琴时,它们才会出现在视口中)。
据我所知,在极少数情况下,唯一的问题就是将这些方面放在一起:
这也不会总是完美的。
出于好奇。还有什么可以唯一地识别这些元素?
编辑:我在网站上问这个,而不是我的 - 我无法编辑他们的服务器端代码。
答案 0 :(得分:1)
您是否正在为现有网站进行某种浏览器测试自动化? 我发现选择DOM元素的最佳方式是引入一层业务逻辑。
因此,例如,如果我们有一个恰好有ID的手风琴,我可能会开始为手风琴做一个选择器,然后将所有子元素存储到一个数组中。然后我会遍历那个数组并尝试根据某种逻辑找到我正在寻找的元素。
这将是超级低效的,但至少你可以添加评论和合理的功能名称,以便从你如何寻找它中分离出你想要的东西。