如何使用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());

实际输出 婴儿和儿童

预期输出 婴儿和儿童中的汽车座椅和婴儿背带

解决方法

尝试使用-

disableComponents(this);
,

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

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

然后这个

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