如何显示跨度类字段
Posted
技术标签:
【中文标题】如何显示跨度类字段【英文标题】:how to display span class field 【发布时间】:2020-08-02 02:29:21 【问题描述】:我正在尝试在 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 123= driver.findElement(By.xpath("//*[@id="js-app"]/div/div/div[2]/div[1]/div/div/ul/li[5]/a")).getText();
System.out.println(123);
String 1234= driver.findElement(By.xpath("//*[@id="js-app"]/div/div/div[2]/div[1]/div/div/ul/li[5]/a")).getText();
System.out.println(1234);
【问题讨论】:
【参考方案1】:您可以使用.findElements
获取多个具有相同模式的元素,它会返回一个列表集合。
更新
参考您的评论,您需要将字符串重新放入列表并使用Collection.contains()方法检查:
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'");
【讨论】:
谢谢它的工作,对不起,我在这里完全是菜鸟,我如何从列表显示到单个字符串?我从列表中得到了 2 个元素,并希望将它们放入一个字符串中并一个一个地进行验证 有时 可能会变成 ,所以我的议程是检查列表是否没有返回任何“文本文本失败” @user1579414 您需要再次将字符串放入List
,查看更新后的答案。【参考方案2】:
试试这个代码:
String pass = driver.findElement(By.xpath("//*[@class='sidebar-text']/span")).getAttribute("class");
System.out.println(pass);
【讨论】:
感谢 saragada,但您提供的代码不起作用,控制台上没有打印任何内容。另外我如何区分 ahref 标签?因为我有两个这些 ref 标签。让我再次编辑我的帖子 对不起,我把它粘贴错了,它可以工作,但是,我如何区分 ahref 标签?我需要打印两个 spanclass 文本以验证我的 ahref 标记是否包含 span 类标记的通行证。以上是关于如何显示跨度类字段的主要内容,如果未能解决你的问题,请参考以下文章