我需要使用 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> </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/