java - 如何通过selenium读取UL类弹出窗口上显示的文本

标签 java selenium selenium-webdriver

我需要使用 Java 读取 Web 驱动程序中弹出窗口上显示的文本。我能够处理关闭弹出窗口。我不知道如何读取弹出窗口上显示的文本并在控制台中打印它。

HTML:

<ul class="traceInner"><li class="traceHead"><span><input type="checkbox" class="chkall hand">奖期</span><em>追号倍数</em><em>追号状态</em><em>注单详情</em></li><li><span><input type="checkbox" rel="20151119031YCL02WY0001" class="hand disabled" disabled="disabled" name="2015316">2015316</span><em>1</em><em><label>已完成</label></em><em><a class="hand traceDetails" data-id="20151119031YCL02WY0001" rel="434">详情</a></em></li><li><span><input type="checkbox" rel="" class="hand" name="2015317" 追号中="">2015317</span><em>1</em><em><label>进行中</label></em><em>&nbsp;</em></li></ul>

我需要在标签中获取已完成的标签文本。

我的代码:

ConfirmationPlaceBet_Page.verification_ZhuiHao2(driver).getText();

最佳答案

1.您可以将此 xpath 用于一般用途:

xpath = //label[text()= '已完成']

2.如果你有太多 ul 元素,那么使用这个 xpath :

xpath = //ul[@class='traceInner']//label[text()= '已完成']

3.如果您想获取第一个标签元素,请使用此 xpath :

xpath = (//ul[@class='traceInner']//label)[1]

注意:如果您想获得第二个标签,请传递 2 而不是 1

4.如果您想获取标签列表,请使用此 xpath :

 xpath = //ul[@class='traceInner']//label

这是您对“如何获取文本”的回答:

 String text = driver.findElement(By.xpath("your Xpath")).getText();

警告

对于网络元素列表,您必须像这样使用:

 String text_1 = driver.findElement(By.xpath("your Xpath of List")).get(0).getText();

关于java - 如何通过selenium读取UL类弹出窗口上显示的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33798007/

相关文章:

java - 在重绘的 DOM 中查找元素

C# Selenium 或 WebBrowser 替代品模仿人类

java - drjava JFrame 帮助对象在 KeyEvent 按钮释放后不会继续移动

java - 从 EJB 无状态 session bean 调用 CDI session 范围的生产者方法

java - 如何获取 WebElement 的数量

java - 无法单击日期选择器按钮来使用 appium 和 java 更改日期

java - Maven 找不到 htmlunit Artifact

java - DbUnit 和递归实体

java - Android - 创建进度对话框

JavascriptExecutor 使用 document.evaluate xpath 更改 className