我正在尝试将文本输入到输入字段中,但无法成功运行。我有两个看起来像这样的输入:
<div class"outerParentClass">
<div class="classLabel">From</div>
<div class="classA classB classD">
<div class="classE">
<div class="classText"> TEXT HERE </div>
<input class="classInputA classInoutB" type="text">
</div>
</div>
</div>
<div class="classLabel">To</div>
<div class="classA classB classD">
<div class="classE">
<div class="classText"> DIFFERENT TEXT HERE </div>
<input class="classInputA classInoutB" type="text">
</div>
</div>
</div>
</div>
两个输入都是与上面完全相同的格式。没有Id,两者都有相同的类。我正在努力将文本输入这些内容,甚至正确地找到它们。
当我这样做时:
browser.text_field(:class => "classInputA").size
它返回20
当我这样做时:
browser.text_field(:class => "classInputA")
它返回:
#<Watir::TextField:0x..fbccafb7ed2e9b85e located=false selector={:class=>"classInputA", :tag_name=>"input"}>
不确定如何找到这些输入中的任何一个。有什么建议吗?
答案 0 :(得分:1)
字段旁边的文本为字段提供标签和上下文。由于它可能是唯一的,您可以使用它来识别元素。
为此,请找到包含标签文本的div
。然后导航到包含文本字段的相邻div
。
browser.div(text: 'From', class: 'classLabel') # label of interest
.element(xpath: './following-sibling::div[1]') # adjacent div containing text field
.text_field # the text field
请注意,在下一版本的Watir中,.element(xpath: './following-sibling::div[1]')
只能由.following-sibling
替换。