我有一个像这样的HTML标记:
<html>
...
<body>
....
<fieldset>
<legend>Other Details</legend>
<div>
<input type='text' id='txt1' title='Detail 01'/>
</div>
<div>
<input type='text' id='txt2' title=''/>
</div>
<div>
<input type='text' id='txt3' title=''/>
</div>
<div>
<input type='text' id='txt4' title='Detail 04'/>
</div>
</fieldset>
.....
<body>
</html>
这就是我想要做的。
我需要快速遍历屏幕,拿起所有文本框及其标题。当我遇到一个没有标题的文本框(就像上面的例子中的两个一样)时,我需要检查它们是否出现在字段集下,他们这样做。现在,对于没有标题的这些文本框,我所要做的就是获取字段集的图例值并将其分配给文本框。
例如,上例中的第二个和第三个文本框没有标题。在这种情况下,我想做以下事情:
我实现了第1步。当我在第2步时,我需要找出父字段集中文本框的位置。我有下面的selenium webdriver代码:
WebElement textbox = driver.findElement(By.id("txt2"));
List<WebElement> precedingSiblings =
textbox.findElement(By.xpath("preceding-sibling::input[@type='text' or @type='Text' or @type='TEXT']"));
String myTitle =
fieldSetLegend + " " + Integer.toString(precedingSiblings.size()+1);
我希望这段代码能够将myTitle的值作为我的第二和第三个文本框的其他详细信息2和其他详细信息3。
但问题是,每当我点到在previousSiblings.size()时,它总是返回0.这是因为每个输入都包含在div中,因此没有兄弟。
现在,我想了解一种方法,通过该方法,我可以找到当前元素在包含字段集中的位置。
请帮忙。!!!
答案 0 :(得分:0)
如何导航到父母div
找到它的之前的兄弟姐妹&amp;然后从那里找到相关的input
。
大致是:
parent::div/preceding-sibling::div/input[@type='text' or @type='Text' or @type='TEXT']