gpt4 book ai didi

java - 如何循环浏览 WebElement 列表并选择一个具有条件的 WebElement?

转载 作者:行者123 更新时间:2023-12-02 03:20:10 26 4
gpt4 key购买 nike

我正在使用 Selenium WebDriver 和 Java。我正在尝试创建一个循环访问 WebElements 列表的方法,以返回包含文本“Ooga Booga”的第一个 WebElement,或者如果列表中没有包含此文本的元素,则返回 null。

public class myClass {
private static WebElement element = null;
private static List<WebElement> elements = null;

public static WebElement returnOneElement (WebDriver driver){
elements = driver.findElements(By.cssSelector("someSelector"));
for (WebElement element : elements){
String myText = element.findElement(By.cssSelector("classC")).getText();
if (myText.contains("Ooga Booga")) {
return element;
}
}
return null;
}

这一切都工作正常,直到我遇到一个没有此属性的元素:

String myText = element.findElement(By.cssSelector("classC")).getText();

如何继续循环遍历列表,同时忽略其中没有“someDiv”的任何元素?

<div class="someSelector">
<div class="classA">
<div class="classB">
</div>

<div class="someSelector">
<div class="classA">
<div class="classB">
<div class="classC">
</div>

我需要搜索 div“classC”内的文本。

最佳答案

使用 findElement-S 方法,如下所示。

    for (WebElement element : elements) {
List<WebElement> mightHaveSomeDiv = element.findElements(By.cssSelector("someDiv"));

if (mightHaveSomeDiv.size() > 0) {
//Can iterate the list if you expect more than one div of type someDiv.
String myText = mightHaveSomeDiv.get(0).getText();
if (myText.contains("Ooga Booga")) {
return element;
}
}
}

关于java - 如何循环浏览 WebElement 列表并选择一个具有条件的 WebElement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39735449/

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