首页 > 解决方案 > 如何使用 selenium java 从下面的 html 代码中获取文本?

问题描述

<ul class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content category-choices" id="ui-id-3" tabindex="0" style="display: none; top: 285.516px; left: 524.5px; width: 300px;">
<li data-custom-text="location__text" class="ui-menu-item" id="ui-id-50" tabindex="-1">Car Seats and Baby Carriers<div> in <span>Baby and Kids</span> </div></li>

我用下面的代码

String options =driver.findElements(By.xpath("//li//div//span"));
System.out.println(options.getText());

实际产出: 婴儿和儿童

预期产出: 婴儿和儿童汽车座椅和婴儿背带

标签: javaseleniumselenium-webdriverfindelement

解决方案


您对嵌套标签的深入了解也选项是一个元素而不是多个元素,并且是 webelement 类型。

WebElement options = driver.findElement(By.xpath("//ul/li[class='ui-menu-item']"));

那么这个

System.out.println(options.getText());

推荐阅读