返回介绍

元素查找器详解

发布于 2023-08-18 22:08:46 字数 21297 浏览 0 评论 0 收藏 0

元素查找器详解

NDS使用增强的css选择器来内部识别元素。 NDS提供一个元素查找器,可以让您轻松识别单个或者多个元素。在NDS的界面上, 点击元素查找器的图标( ), 即可弹出查找器界面.

元素查找器对话框弹出后,将鼠标移动到网页上的目标元素后单击它。 根据当前上下文,元素查找器将决定选择哪些元素(单个或者多个)。例如,在列表页面中定位块或字段时,元素查找器将尝试猜测并高亮显示所有类似的元素。 而在选择翻页按钮时,元素查找器将仅突出显示所选定的单个元素。

对于当前高亮显示的元素,再次鼠标单击它将告诉元素查找器排除该元素,此时元素查找器会重新计算生成css选择路径,以满足所有选定和需排除的元素的要求。如果无法找到合适的选择器,更新后的css选择器将为空。此时您可以重新开始选择,或者手写css选择路径

元素查找器 UI 中的每个部分:

  • 1. 昵称输入 为所选元素分配一个可读名称.

  • 2. css选择路径 高亮显示元素后,生成的css选择路径将显示在。 您可以手动编辑css选择路径。此处的任何更改在输入框失去焦后会激发元素查找器根据更改后的css选择路径重新高亮显示对应的元素。

  • 3. 预览按钮 单击按钮以预览所有被选中高亮显示的元素的 HTML代码

  • 4. 清空按钮 单击按钮以清除当前生成的css选择路径

  • 5. 忽略class选择器选项 默认的,选择器会使用各种选择器来定于元素。 但是有一些网页,如Google 地图, Yahoo首页, 元素的class属性会尽量改变,导致定义的规则执行的失效已经失效。为避免这种情况, 你可以选上本选项,而后选择器在生成路径时将主要使用结构化的选择器,如标签,以及标签的位置等。使得生成的路径更加稳定。


  • 6. 鼠标移动箭头 对于某些网页,您不能方便的通过鼠标选择目标元素。在这里,您可以选择附近的元素,然后使用箭头逐渐移动到目标元素.
FunctionDescription
显示父元素的标签名称,单击以选择父元素
显示左边元素的标签名称(如果存在的话),单击以选择左边元素
显示右边元素的标签名称(如果存在的话),单击以选择右边元素
显示第一个儿子元素的标签名称(如果存在),单击以选择第一个儿子元素
当前元素的标签名称
  • 按Shift键选择元素 在某些元素上,鼠标点击可能会出发一些页面改变的事件。为了避免在选择元素时触发事件,您可以将鼠标移到目标元素上,然后按"Shift"键来选定元素

常规元素选择

  • 将鼠标移动到第一块上,点击(或按Shift)选中,如果选中的元素没有覆盖所有需要的field元素, 可以点击向上鼠标移动箭头,来选择上一个元素作为块元素。 过程中NDS都会自动计算其他相似的块。

    如果有些块没有被自动选中, 可以鼠标移上去继续选择。

    如果有不需要的块被选中了, 则鼠标移上去点击,可以排他该元素

    一旦块元素正确选定,点击‘确定’按钮即保存对应的元素路径。

    为了保存块在其他列表页也能正确的识别,可以翻页到第二页,而后点击块元素选择器, 检查其高亮选中的元素是否是想要的元素。

<p align="center">
  <img src="../img/shot/list_sample_data_blocks.png" width="60%" align="center">
</p>  


  • 块中字段 鼠标移到块上,选择一个块内的某个元素,则NDS会自动识别处所有其他块中的类似元素。如果某些块中的对应字段元素没有被选中,照样可以继续选择。

  • 详情字段 直接选择即可
  • 动作所涉及的目标元素 直接选择即可

  • 翻页元素选择 NDS支持多种自动翻页,对应的元素选择NDS也做了智能化处理。

    • 固定翻页按钮 直接选择

    • 同页装载更多按钮 直接选择

    • 当前页码确定下一页码 将鼠标移到当前页码,点击(或按Shift),NDS会努力定位出下一页码的元素。 如果定位正确,则ok。否则表示无法使用这种翻页模式

* 逐页点击
    将鼠标移到页码上,选择。所有页码都会被自动选中。


* 下滚容器元素
    如果在特定区域内的下滚, 则将鼠标移到该区域内, 上下滚动,NDS会自动识别对应的区域元素。

特殊元素选择

  • 选择器组合使用 对于某些场景,NDS 不够智能,无法生成一个 css 选择器来轻松定位所有需要的元素。 然后我们有其它方法来解决它。 第一种是使用元素选择器定位部分需要的元素,然后保留生成的css选择器,然后使用元素选择器定位其他需要的元素,生成另一个css选择器。 然后我们用逗号(,)把这些css选择器连接起来,填入元素选择器UI的css选择器输入框。 这里每个css选择器可以定位到需要的部分元素,NDS会使用每个选择器定位对应的元素,并返回一个合并的元素列表。

  • 手工书写选择器 如果元素查找器无法正确定位元素,我们可以手动编辑 css 选择器。

    例如下面是两个谷歌地图的餐厅详情:

    Paulista Brazilian Kitchen & Taproom

    Cholita Linda

    在这里我们会发现每个餐厅的属性计数可能不同,并且每个详细信息页面中一个属性的位置(或顺序)也可能不同。 为所有这些详细信息页面定义一个配方。 我们可以手动编写 css 选择器来正确定位每个目标元素。 根据HTML代码,我们可以看出,如果存在一个'data-item-id'属性值为'address'的按钮,那么我们可以将它分配给Address字段; 类似地,如果存在一个 'data-item-id' 属性值为 'locatedin' 的按钮元素,那么我们将其分配给 LocationIn 字段。 现在我们可以使用 css 选择器来定位第一个元素: button[data-item-id="address"] 和第二个元素: button[data-item-id="located in"]

    具有这两个字段的最终 Detail 节点如下所示:


    以下是所有支持的官方选择器: Css Selectors Refernce.


    NDS 提供了一些只能在 NDS 上下文中工作的内部选择器。 我们稍后会发布它们。

  • 不可见元素的处理 NDS 不直接提取不可见元素。 但是一些可见元素留在不可见元素内部。 当使用鼠标移动器选择这些可见元素时,您仍然可以将其用作选择其可见兄弟的桥梁。 要提取不可见元素的内容,您可以选择其可见的父元素,然后提取父元素的 HTML 代码。

  • 查看页面的DOM结构 使用鼠标移动器时,我们想知道现在在哪里。 要了解有关当前所选元素的上下文的更多信息,您可以按 F12 或单击右键菜单上的“检查”项以显示 DOM 结构。 然后浏览器会在直观地单击鼠标移动器时闪烁当前元素。

下列视频介绍选择的使用。

Element Finder Usage

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文