java - 无法从 Selenium Java 的 html 元素获取文本

标签 java selenium selenium-webdriver automation automated-tests

我在 Java 中使用 selenium。我无法从作为组合框的 html 元素获取文本。每次我在组合框中获得所选值的空白文本时。

下面是我的组合框的 html 结构。

<ul id="servicetype-cave" class="z-combobox-content" style="height: auto;     width: auto;">
    <li id="zk_comp_140" class="z-comboitem">
    <li id="zk_comp_141" class="z-comboitem">
    <li id="zk_comp_142" class="z-comboitem">
    <li id="zk_comp_143" class="z-comboitem">
    <li id="zk_comp_144" class="z-comboitem z-comboitem-selected">
        <span class="z-comboitem-image"/>
        <span class="z-comboitem-text">Bill Grouping Service</span>
    </li>
    <li id="zk_comp_145" class="z-comboitem">
    <li id="zk_comp_146" class="z-comboitem">
    <li id="zk_comp_147" class="z-comboitem">
    <li id="zk_comp_148" class="z-comboitem">
    <li id="zk_comp_149" class="z-comboitem">
    <li id="zk_comp_150" class="z-comboitem">
</ul>

我在元素中使用了下面的 xpath

@FindBy(xpath = "//ul[@id='servicetype-cave']/li[contains(@class,'z-comboitem-selected')]/span[@class='z-comboitem-text']")
public WebElement selectedServiceName;

public void selectService {
// Selecting an option from dropdown
WebElement tempEle = driver.findElement(By.xpath("(//div[@id='servicetype-pp']//span[2])[3]"));
commonFunctions.clickElement(tempEle);
String strtemp = selectedServiceName.getText();
System.out.println("Selected Service: " + strtemp);
}

请帮忙。

TIA。

最佳答案

我建议您尝试使用 By.cssSelector() ,如下所示:-

WebElement el = driver.findElement(By.cssSelector("ul#servicetype-cave li.z-comboitem-selected span.z-comboitem-text"));

WebElement el = driver.findElement(By.cssSelector("ul#servicetype-cave li.z-comboitem.z-comboitem-selected span:nth-child(2)"));

现在使用 .getText() 获取文本,如下所示:

el.getText();

如果不幸的是 .getText() 不起作用,请尝试使用 .getAttribute("textContent") 如下:

el.getAttribute("textContent");

或尝试使用 .getAttribute("innerHTML") 如下:

el.getAttribute("innerHTML");

希望它有效......:)

关于java - 无法从 Selenium Java 的 html 元素获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38722010/

相关文章:

java - 选择错误排序

java - Android onCreateOptionMenu 没有被调用

java - 创建简单的学生类

java - android.support.design.widget.TabItem 无法转换为 android.view.ViewGroup

python - Selenium 模拟鼠标滚轮下拉和 webdriverwait 替代 time.sleep

selenium-webdriver - Protractor/ Jasmine 测试抛出 “UnknownError: unknown error: Maximum call stack size exceeded”

xpath - 如何在 Selenium webdriver 中选择所有列的第一个单元格 (tds)?

Python网络驱动程序: If-And Statement Not Working With Numeric Values

python - 在选项卡之间切换并关闭窗口中的选项卡会出错

python - 如何在 Google Trends 中点击 Load More 按钮并通过 Selenium 和 Python 打印所有标题