gpt4 book ai didi

testing - 单击 Watir 中嵌套元素的复选框

转载 作者:行者123 更新时间:2023-11-28 20:20:39 25 4
gpt4 key购买 nike

我会尽量保持简单。

我有一个类似这样的行的列表:

enter image description here

HTML代码:

<li ...>
<div ... >
<some elements here>
</div>
<input id="121099" class="containerMultiSelect" type="checkbox" value="121099" name="NodeIds">
<a ...>
<div ... />
<div ... >
<h2>Identified Text</h2>
<h3>...</h3>
</div>
</a>
</li>

我想点击带有特定文本的复选框,但我不能使用它的任何元素,因为它们对于所有列表都是相同的,并且 id 是自动生成的。唯一可以区分的是 h2 文本。我试过了:

browser.h2(:text => /Identified/).checkbox(:name => "NodeIds").set

我得到了 UnknownException,这很明显,因为复选框没有嵌套标签。

遇到这种情况我该怎么办?

谢谢

最佳答案

h2和checkbox由li关联,是共同的祖先。因此,要找到复选框,您可以查找包含 h2 元素的 li。我发现最易读的方法是使用元素集合的 find 方法。 find 方法基本上允许您制作自定义定位器。

代码为:

parent_li = browser.lis.find do |li|
li.h2(:text => 'Identified Text').present?
end
parent_li.checkbox.set

注意事项:

  • browser.lis 创建所有 li 元素的集合。
  • find 遍历 lis 并返回 block 评估为 true 的第一个元素 - 即第一个 li,其中存在具有指定文本的 h2。

关于testing - 单击 Watir 中嵌套元素的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17743365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com