猿问

获取 div 类中的元素列表

我有多个 div 类。我需要获取文本值的内部 div 元素。


<div data-tab-content-id="2" class="panel active">

  <div class="_1jkaeae">

      <div class="abc-table">

          <div class="aaa nhc">

              <div class="aaa-name">Hello</div>

          </div>

          <div class="aaa mhjss">

              <div class="aaa-name">How</div>

          </div>

      </div>

      <div class="aaa qwqwq">

          <div class="aaa-name">are</div>

      </div>

  </div>

  <div class="aaa kkkk">

      <div class="aaa-name">You</div>

  </div>

</div>

<div class="aaa cccc">

  <div class="aaa-name">doing</div>

</div>

</div>

<div class="aaa cvdsdws">

  <div class="aaa-name">Welcome</div>


</div>

</div>

<div class="aaa klqwq">

  <div class="aaa-name">to the web</div>

</div>

</div>

</div>


从上面的 html 中,我正在寻找的输出是获取所有文本值(你好,你好,你,做,欢迎,到 web)。


如果有人可以帮助我,我将不胜感激。


蛊毒传说
浏览 171回答 5
5回答

海绵宝宝撒

How,are,you,doing,welcome,to the web它们都共享相同的类名,您可以继续使用class name、css selector或xpath。你可以使用这个 css 选择器:.aaa-name代码 :driver.findElement(By.cssSelector(".aaa-name")).getText();Xpath 将是://div[@class='aaa-name']代码 :driver.findElement(By.xpath("//div[@class='aaa-name']")).getText();希望这可以帮助。

ibeautiful

让我们分步解决问题:获取您需要文本的所有 div 元素的列表List<WebElement> ele_list = driver.findElements(By.xpath("//div[@class='aaa-name']"))遍历上面的列表并从上面的列表中获取每个元素的文本并打印:List<String> text_element = new ArrayList<String>()for(WebElement ele : ele_list){&nbsp; &nbsp; text_element.add(ele.getText());}希望能帮助到你 :)

烙印99

您要查找的文本属于同一类名称。因此,您可以使用该方法查找文本className。你可以像这样找到它:driver.findElement(By.className("aaa-name")).getText();

富国沪深

由于它们都共享相同的类名,因此您需要使用类名 ie 获取所有元素aaa-name,然后循环遍历元素以获得所需的输出。例如:List<WebElement> elements = driver.findElements(By.className("aaa-name"));for(WebElement element: elements){&nbsp; &nbsp; //perform your logic here...&nbsp; &nbsp; System.out.println(element.getText());}

智慧大石

处理动态元素 InduceWebDriverWait并visibilityOfAllElementsLocatedBy使用以下 css 选择器。WebDriverWait wait = new WebDriverWait(driver, 30);List<WebElement> elements = wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector("div.aaa-name")));&nbsp; &nbsp; &nbsp; &nbsp; for(int i=0;i<elements.size();i++)&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(elements.get(i).getText());&nbsp; &nbsp; &nbsp; &nbsp; }控制台输出:HelloHowareYoudoingWelcometo the web
随时随地看视频慕课网APP

相关分类

Java
我要回答