5

我正在尝试使用 xpath 浏览网页,但我想出了一些混合的结果。这就是我正在使用的:

driver.findElement(By.xpath("//div[contains(@class, 'x-grid3-cell-inner x-grid3-col-0')]"));

这实际上很好用,但我遇到的问题是:

<div class="x-grid3-cell-inner x-grid3-col-0" unselectable="on">92300</div>
<div class="x-grid3-cell-inner x-grid3-col-0" unselectable="on">92475</div>
<div class="x-grid3-cell-inner x-grid3-col-0" unselectable="on">92476</div>
<div class="x-grid3-cell-inner x-grid3-col-0" unselectable="on">92301</div>
<div class="x-grid3-cell-inner x-grid3-col-0" unselectable="on">92474</div>

当我在我的 Selenium 测试中运行那个 xpath 时,我总是得到第一个 div。如何编辑我的 xpath 以检索第 4 个 div (92301) 或不是列表中第一个的其他 div?

4

2 回答 2

8

使用此 XPath(//div[contains(@class, 'x-grid3-cell-inner x-grid3-col-0')])[4]获得 4 th div

要查找div包含92301文本的内容,请使用此 XPath:

//div[contains(text(), '92301')]
于 2013-03-03T23:21:21.150 回答
3

你可以使用WebElement.findElements()

driver.findElements(By.xpath(...)).get(3)

或将 xpath 修改为:

driver.findElement(By.xpath("(//div[contains(@class, 'x-grid3-cell-inner x-grid3-col-0')])[4]"));
于 2013-03-03T23:23:56.947 回答