WebDriver Specific标签

时间:2011-12-16 15:08:29

标签: java selenium webdriver

我正在使用WebDriver,我有一个WebElement,它有一些根标签,每个div标签都有多个div标签。有没有办法只获得根标签?

EG。 从下面的“someid”字段抓取的WebElement包含以下数据。我想从这个元素中获取根div标签(下面的示例有三个)默认情况下它抓取根,并且其中的任何div标签有没有办法只抓住这三个div标签?抓取它们没有特定的名称或ID,但是如果我可以获得根div标签,我可以更容易地遍历它们,以便在每个标签中找到我需要的数据。感谢您的任何指导,或者如果我需要获取更多信息,请告知我们。感谢

<div id="someid">
    <div><more html that has div tags></div>
    <div><more html that has div tags></div>
    <div><more html that has div tags></div>
</div>

WebElement weMain = driver.findElement(By.id("someid"));
// Looking for a way to just grab the root divs to my WebElement
List<WebElement> weSomeElements = weMain.findElements(By.tagName("div"));

感谢任何方向

2 个答案:

答案 0 :(得分:1)

尝试:

driver.findElements(By.xPath("//div[@id='someid']/div")

我认为应该返回3个div。

答案 1 :(得分:0)

试试这个

List<WebElement> weSomeElements =
    driver.findElements(By.CssSelector("div[id='someid'] div"));

然后你可以这样做:

WebElement element = weSomeElement.select(n).findElements(by.tagName("div"));
var elementText = element.Text();