0

我正在自动填写在线表格。问题是许多字段具有相同的属性信息。下面的两个示例都是不同部分的地址行,我试图发送不同的地址信息,但 selenium 只识别一个元素,因为信息是相同的。Xpath 和 Css 也没有单独识别它们。有什么建议么?

<div class="row-fluid">
<div class="span7">
<label for="AddressLine1">Street Address 1</label>
<input id="AddressLine1" class="span" type="text" value="" name="AddressLine1">
</div>

//Second area on form
<div class="span7">
<label for="AddressLine1">Street Address 1</label>
<input id="AddressLine1" class="span" type="text" value="" name="AddressLine1">
</div>
4

3 回答 3

0

css=div.row-fluid > div.span7:nth-of-type(i) > #AddressLine1 -- CSS 选择器

i -- 具有 span7 类的 div 的大小。

请让我知道上面的 CSS 选择器是否正常工作。

谢谢!

于 2014-04-08T11:31:26.163 回答
0

您可以在这种情况下使用 Xpath Position()。假设如果你有 10 个地址字段具有相同的 xpath,你可以使用下面的 selenium 类型命令在第 6 个地址框中写入地址。

driver.findElement(By.xpath("//input[@type='text'][position()=6]")).sendKeys("Address")

有关更多选项,请参阅

于 2013-04-03T15:26:47.013 回答
0
List<WebElement> divs = driver.findElements(By.cssSelector("div.span7"));

如果你想要第一个 div

divs.get(0);

如果你想要第二个 div

divs.get(1);
于 2013-04-04T19:01:53.830 回答