gpt4 book ai didi

java - 从重复的层次结构中删除 Selen

转载 作者:行者123 更新时间:2023-12-01 09:31:30 27 4
gpt4 key购买 nike

我有一个 html 层次结构,我想从中提取一些信息。 HTML 层次结构如下:

<div class="span">
<div class="da">
<div class="db">
<div class="dc">
<ul class="ua" id="ua_id" >
<li class="la_id">
<div class="de details">
<div class="df">
<div class="dg">
<span class="th">
<p class="p4">p: 4</p></span>
<p class="where">Description</p>
<div class='dh'>
<div class='di'>
<div>08 Oct 2016</div>
<div class="dj">loc</div>
</div>
</div>
</div>
</div>
</li>
<li class="la_id">
<div class="de details">
<div class="df">
<div class="dg">
<span class="th">
<p class="p3 plus">p: 3 plus</p></span>
<p class="where">Description</p>
<div class='dh'>
<div class='di'>
<div>02 Oct 2016</div>
<div class="dj">loc</div>
</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>

<li>标签重复,我想提取其中的详细信息

我尝试了以下方法,但不起作用:

List<WebElement> details =driver.findElements(By.className("la_id"));
for(WebElement e : details){
System.out.println(e.getAttribute("where"));
}

我不知道如何获取如下值:

<div class="dj">loc</div>

有人可以给我一点提示吗

最佳答案

在您的情况下,“where”不是您找到的元素的属性。

如果您需要查找类为“where”的元素,那么根据您的示例,您可以像查找另一个元素一样找到它:

List<WebElement> details =driver.findElements(By.className("where"));
for(WebElement e : details){
System.out.println(e.getText());
}

如果您想使用树中的父元素来定位它,您可以使用类似以下内容的内容:

List<WebElement> details =driver.findElements(By.cssSelector("li.la_id p.where"));

关于java - 从重复的层次结构中删除 Selen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39366990/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com