我在面试中遇到以下问题:如何识别没有唯一标识符的Web元素,甚至没有div或select或任何东西。我无法理解这个问题本身。有人能帮我一下吗?如何找到没有唯一标识符的硒元素?
3
A
回答
2
嗯,有这么多不同的技术来定位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>
在这种情况下,我们可以简单地从tr
获得第二td
:
//tr/td[2]
有时候,也有一些是在元素的 “文本”:
<div>The quick brown fox jumps over the lazy dog</div>
比方说,我们知道,“狐狸”是存在的:
//div[contains(., "fox")]
依此类推。
2
面试的问题始终是一个挑战,并且通常试图非法从受访者,通常有一点做与问题的主题,使他们能够获得您的层次感(正或负)的响应理解力或个性。
根据不同的面试官,他们可能一直在寻找,看看你在编程以及圆润。我不知道你在申请什么职位。假设Selenium没有任何“魔术”方法来寻找所述元素,也许面试官想知道你是否可以编写或理解以编程方式解析web代码。
也许他们正在寻找您以编程方式量化元素为基于参数搜索找到它。
这两个概念,将显示编程基础面试官的理解而没有谈论具体的代码。
相关问题
- 1. 硒没有找到元素
- 2. 硒没有找到现有的元素
- 3. Web元素没有被硒识别
- 4. 硒Webdriver没有这样的元素:无法找到元素
- 5. XML到SQL - 行有列没有唯一的标识符
- 6. 如何找到Android设备的唯一标识符?
- 7. 硒的webdriver无法找到元素的标识,使用Python
- 8. 唯一标识符
- 9. 为数组中的元素生成'可读'唯一标识符?
- 10. 如何找到这种元素与硒
- 11. 识别没有明显标识符的Web元素
- 12. NSManagedObject的唯一标识符
- 13. SlideMaster的唯一标识符
- 14. PC的唯一标识符
- 15. Mac的唯一标识符?
- 16. 有没有wpf UIElement的唯一标识符?
- 17. 为DOM元素创建唯一标识符
- 18. 如何为二维数组中的元素提供唯一标识符?
- 19. 如何为容器元素创建唯一标识号?
- 20. Java流 - 找到唯一的元素
- 21. 元素未找到 - 硒
- 22. 硒找不到元素
- 23. 找不到元素硒python
- 24. C#硒:获取时没有找到的元素
- 25. 硒没有找到
- 26. 硒ChromeDriver - 元素从来没有看到
- 27. 获得一个唯一的标识符NSArrayController的内容的每一个元素
- 28. 唯一文件标识符
- 29. XHTML唯一标识符
- 30. 唯一标识符策略