Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何显示“跨类”字段_Java_Html_Selenium_Selenium Webdriver_Xpath - Fatal编程技术网

Java 如何显示“跨类”字段

Java 如何显示“跨类”字段,java,html,selenium,selenium-webdriver,xpath,Java,Html,Selenium,Selenium Webdriver,Xpath,我试图在chrome浏览器中显示从html到我的打印控制台的两个“文本传递”,显然,它不起作用,有什么建议吗 我的浏览器html代码 <a href="/abc/123" class="active"> <div class="sidebar-text"> <span class="text text-pass"> </span> </a> <a href="/abc/1234" class="acti

我试图在chrome浏览器中显示从html到我的打印控制台的两个“文本传递”,显然,它不起作用,有什么建议吗

我的浏览器html代码

  <a href="/abc/123" class="active">
    <div class="sidebar-text"> 
     <span class="text text-pass"> </span> </a>
  <a href="/abc/1234" class="active">
        <div class="sidebar-text">
         <span class="text text-pass"> </span> </a>
请尝试以下代码:

String pass = driver.findElement(By.xpath("//*[@class='sidebar-text']/span")).getAttribute("class");
System.out.println(pass);

您可以使用
.findElements
获取具有相同模式的多个元素,它将返回一个列表集合

更新

引用您的注释,您需要再次将字符串放入列表中,并使用以下方法进行检查:

List results=new ArrayList();
List elements=driver.findElements(By.xpath(“//div[@class='sidebar-text']//span”);
for(WebElement:elements){
字符串attr=element.getAttribute(“类”);
结果:添加(attr);
系统输出打印项次(属性);
}
if(results.contains(“文本失败”)){
System.out.println(“此列表包含“文本失败”);
}

谢谢saragada,但您提供的代码无效,控制台上没有打印任何内容。还有,如何区分ahref标记?因为我有两个参考标签。让我重新编辑我的帖子,因为我把它粘贴错了,它可以工作,但是,我如何用ahref标签区分呢?我需要打印两个span class文本,以验证我的ahref标记是否包含span class标记的通行证。谢谢,很抱歉,我在这里是一个完全的noob,如何从列表显示到单个字符串?我从列表中获得了2个元素,希望将它们放入一个字符串中,并逐一验证可能出现的情况,因此我的议程是检查列表是否没有返回任何“text text fail”@user1579414。您需要再次将字符串放入
列表中,请参阅更新的答案。
String pass = driver.findElement(By.xpath("//*[@class='sidebar-text']/span")).getAttribute("class");
System.out.println(pass);
List<String> results = new ArrayList<>();
List<WebElement> elements = driver.findElements(By.xpath("//div[@class='sidebar-text']//span"));
for(WebElement element: elements) {
    String attr = element.getAttribute("class");
    results.add(attr);
    System.out.println(attr);
}

if(results.contains("text text-fail")) {
    System.out.println("this is list contains 'text text-fail'");
}