Java 如何显示“跨类”字段
我试图在chrome浏览器中显示从html到我的打印控制台的两个“文本传递”,显然,它不起作用,有什么建议吗 我的浏览器html代码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
<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'");
}