单击 TruClient 中文本旁边的 link

Click on a link beside text in TruClient

我们有一个页面,其中有数十行列出了我们创建的案例。我们已将案例命名为唯一,因此我们可以在 TruClient 中使用循环来向下滚动页面,直到找到该文本。然后我们的页面让我们点击该文本左侧的 link。它在 HTTP 协议中非常直接,因为我们可以使用正则表达式轻松提取 link 但使用 TruClient 我们看不到它。

最新的 link 并不总是在屏幕的顶部或底部,我们无法在到达此页面之前获取 link 详细信息(功能让我们创建了这个案例,并且案例 ID 在此之前未显示在页面上)

我能看到的最接近的功能是使用点击 link,然后使用 "Related Object" 并将其指向我们想要识别的文本,但没有一种参数化我们想要用作锚点的文本的方法。

因此在下面的示例中,我创建的最新案例是 Name20200323005,我想单击它右侧的 Link。

有没有人以前做过这样的事情,或者建议我们可以研究什么?

首先我想确定我清楚地理解了您的要求。任务是让 TruClient 根据搜索 Name########### 的值单击 link。对吗?

TruClient支持多种识别测试对象的方式:

  1. 自动
  2. 描述符
  3. JavaScript
  4. XPath

我认为自动或描述符不适合此请求。我们需要编写一些 JS 代码来完成请求。

  1. 将对象识别方法从步骤 > 对象 > ID 方法更改为 js。
  2. 点击输入框右侧的编辑图标。确保 JS 代码的评估值是对正确 DOM 对象的引用。这是基于您的示例的示例代码,用于过滤 Link 元素:

添加了参考 firstChild,正如您提到的 link 包含在 div 元素中。很高兴知道它有效。 :)

Array.prototype.slice.call(document.querySelectorAll('td'), 0).filter(td=>td.innerText=="Name20200323005")[0].previousElementSibling .previousElementSibling.firstChild