我正在使用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"));
感谢任何方向
答案 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();