我在采访中遇到了以下问题:如何识别没有唯一标识符甚至没有div或select或其他任何内容的Web元素。我无法理解问题本身。有人能帮我一下吗?
嗯,有很多不同的技术可以在HTML中定位元素。确切回答的范围太广,因此,如果我是您,我将列举多个示例列出可能的技术。XPath表达式和CSS选择器可助您一臂之力。
标签名称,id
,name
,class
或任何其他数据相关的属性通常是一个很好的和可靠的选择来定位元素。如果这些都不存在,则取决于元素位于何处,它具有什么父母,兄弟姐妹,祖先等,以及元素文本,相应标签(如果有),父母是多少的唯一性-作用中的变量太多。
例如,假设您有以下HTML:
<span>
<label>Category:</label>
<b>Desired text</b>
</span>
这里所需的b
标记本身不具有id
或name
,但是很容易看出我们可以依靠其前面的同级并使用以下XPath表达式:
//label[. = "Category:"]/following-sibling::*
有时我们知道所需元素位于元素中的特定位置。例如:
<tr>
<td>text1</td>
<td>Desired text</td>
<td>text3</td>
</tr>
在这种情况下,我们可以简单地获得第二个td
来自tr
:
//tr/td[2]
有时,元素的“文本”中有一些内容:
<div>The quick brown fox jumps over the lazy dog</div>
假设我们知道其中存在“ fox”:
//div[contains(., "fox")]
等等。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句