如何在硒中没有唯一标识符的元素中定位?

Dhinesh

我在采访中遇到了以下问题:如何识别没有唯一标识符甚至没有div或select或其他任何内容的Web元素。我无法理解问题本身。有人能帮我一下吗?

ec

嗯,有很多不同的技术可以在HTML中定位元素。确切回答的范围太广,因此,如果我是您,我将列举多个示例列出可能的技术。XPath表达式和CSS选择器可助您一臂之力。

标签名称,idnameclass或任何其他数据相关的属性通常是一个很好的和可靠的选择来定位元素。如果这些都不存在,则取决于元素位于何处,它具有什么父母,兄弟姐妹,祖先等,以及元素文本,相应标签(如果有),父母是多少的唯一性-作用中的变量太多。


例如,假设您有以下HTML:

<span>
    <label>Category:</label>
    <b>Desired text</b>
</span>

这里所需的b标记本身不具有idname,但是很容易看出我们可以依靠其前面的同级并使用以下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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Selenium (c#) - html 元素中没有唯一标识符 - javascript?

用唯一标识符替换数组中的元素

如何从<span>中刮取一些没有唯一类标识符的文本?

如何在没有唯一标识符的情况下抓取跨度?

如何生成8位数字的唯一标识符以替换python pandas中的现有标识符

有没有办法在MPI中获得唯一的通信器标识符?

Python中是否有对象唯一标识符

iOS中的私有唯一设备标识符

使用VBA在Access表中查找值而没有唯一标识符的情况

如何在元组中查找列表的唯一标识符?

如何在没有顺序int标识符的情况下仅更新SQlite中的第一行?

如何在Java中创建用户友好的唯一ID,UUID或其他唯一标识符

使用BeautifulSoup刮除没有唯一标识符的元素

React:如何在没有索引或唯一标识符的情况下修改基于数组的状态?

如何在Robot Framework中编写具有多个标识符的动态元素?

没有唯一标识符的自举崩溃

没有唯一标识符的内连接

当我没有文件标识符时,如何在python中关闭文件

如何在pywinauto中单击没有标识符的按钮

用唯一标识符替换所有列中的每个唯一值

如何通过自定义标识符选择硒中的元素

如何根据 html 通过 selenium-webdriver 和 Python 在没有唯一标识符的文本框中单击

如何删除没有唯一标识符的重复行

如何在三层应用程序的C#消息框中显示有关SQL异常(唯一标识符)的错误消息?

XQuery 如何将具有唯一标识符的相似 XML 结构中的值相加

义务Cordapp中的唯一标识符

Tomcat中连接的唯一标识符

JavaScript中的唯一对象标识符

在Python中制作唯一标识符