gpt4 book ai didi

java - 如何在 Selenium 中的 WebElement 列表上执行操作

转载 作者:行者123 更新时间:2023-11-30 05:33:54 26 4
gpt4 key购买 nike

无法迭代 WebElement 列表

我正在 https://www.makemytrip.com/ 上执行一些操作在出发下。点击出发时,会显示两个月的日历。

我能够获得两个具有相同 xpath 的 webElement,如下所述,现在我想一一获取,并使用 getText() 来匹配用户月份名称。

List<WebElement> month_list= driver.findElements(By.xpath("//div[@class='DayPicker-Month']"));

ListIterator<WebElement> listIter= month_list.listIterator();

while(listIter.hasNext()) {

WebElement elem= listIter.next();

System.out.println(elem.findElement(By.xpath("//div[@class='DayPicker-Caption']/div")).getText());

}

但每次,它都会报告相同的文本:

July 2019
July 2019

但是,我希望它应该报告:

July 2019 
August 2019

请指导我如何对每个元素一一执行任何操作。

enter image description here

最佳答案

您应该尝试在第二个 xpath 中使用 . 而不是 / ,如下所示:-

System.out.println(elem.findElement(By.xpath("./div[@class='DayPicker-Caption']/div")).getText());

<强> Absolute vs relative XPaths (/ vs .)

  • / 引入绝对位置路径,从文档的根目录开始。
  • . 引入从上下文节点开始的相对位置路径。

关于java - 如何在 Selenium 中的 WebElement 列表上执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57006566/

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