Java 在selenium Webdriver中查找所需字段的标签文本

Java 在selenium Webdriver中查找所需字段的标签文本,java,selenium,selenium-webdriver,console,Java,Selenium,Selenium Webdriver,Console,我正在尝试在控制台上打印所有必需字段的“标签” 我在这里所做的是把所有的元素都放在列表中并打印出来。 但是我仍然不确定我应该使用什么逻辑来只过滤所需的字段标签 List<WebElement> list = driver.findElements(By.xpath("//div[@class='container']")); for(int i=0;i<list.size();i++){ Thread.sl

我正在尝试在控制台上打印所有必需字段的“标签”

我在这里所做的是把所有的元素都放在列表中并打印出来。 但是我仍然不确定我应该使用什么逻辑来只过滤所需的字段标签

   List<WebElement> list = driver.findElements(By.xpath("//div[@class='container']"));

         for(int i=0;i<list.size();i++){
             Thread.sleep(2000);
             String name =  list.get(i).getText();
           
            System.out.println(name);

           }
List List=driver.findElements(By.xpath(“//div[@class='container']);

对于(inti=0;i您的XPATH应该是这样的,以便查找所需的标签

//span[@class = 'required']//..//..//label
你可以这样写:

List<WebElement> list = driver.findElements(By.xpath("//span[@class = 'required']//..//..//label"));

         for(int i=0;i<list.size();i++){
             Thread.sleep(2000);
             String name =  list.get(i).getText();
           
            System.out.println(name);

           }
List<WebElement> list = driver.findElements(By.xpath("//span[@class = 'required']//..//..//label"));

list.stream().map(WebElement::getText).forEach(System.out::println);
List List=driver.findElements(By.xpath(“//span[@class='required']/../../..//label”);

for(int i=0;i)是您想要的html示例。我猜您想要包含(@class,'container'),因为div上有多个类。或者您需要使用“wait”@ Ghazalshukla以文本为基础的相关HTML更新问题。如果列表大小为0,请考虑使用等待等待元素加载。PoT看起来工作正常,但我只想过滤必填字段,并将它们打印到CONSOLYMAH中,但在这里,我需要所需标签的列表,也就是它。使用我提供的XPATH只能找到必需的标签
List<WebElement> list = driver.findElements(By.xpath("//span[@class = 'required']//..//..//label"));

list.stream().map(WebElement::getText).forEach(System.out::println);