gpt4 book ai didi

java - Webdriver:通过html标签查找包含属于某个类的html标签的元素

转载 作者:行者123 更新时间:2023-12-01 18:15:19 25 4
gpt4 key购买 nike

澄清一个非常困惑的标题:有一段页面代码是这样的(我对实际代码进行了简化):

<div class="CLASS1">
<p>...
<p>
<strong>
<i CLASS2 "></i>
THE DATA I WANT
</strong>
</p>
<p>...
<p>...
</div>

我正在使用 Selenium Webdriver 和 Java,并且我一直在尝试获取 "DATA I WANT"行,但由于它包含在标签之间(而不是 CLASS2 斜体标签),所以我很难完成此任务。请注意,其余段落(标记为 <p>... )包含类似的结构。目前似乎正在寻找 CLASS1 <strong>包含 CLASS2 元素 <i> 的标签可能是解决方案,但到目前为止我还无法组成正确的搜索路径。现在我不确定我是否从正确的角度处理这个问题。非常感谢任何建议!我希望为此提供最短且最可靠的解决方案...

最佳答案

对于您发布的 HTML。以下 CSS 选择器应该可以工作。

div.CLASS1 > p:nth-child(2) > strong

如果您需要获取包含 i.CLASS2strong 标记,那么您可以执行类似的操作。

// get all p tags
List<WebElement> pTags = driver.findElements(By.cssSelector("div.CLASS1 > p"));

WebElement myWebElement = null;

// iterate and find p tag that contains i.CLASS2
for (WebElement element : pTags) {
if (element.findElements(By.cssSelector("i.CLASS2")).size() == 1) {
myWebElement = element.findElement(By.cssSelector("strong"));
break;
}
}

// the data you want
System.out.println(myWebElement.getText());

关于java - Webdriver:通过html标签查找包含属于某个类的html标签的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30016819/

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