我有这样的HTML:
<div class="dialog-components">
<h2 class="dialog-title">
<div class="help-link">
<a href="http://google.com">Helps</a>
</div>
Expected Result
</h2>
我想得到文字:&#34;预期结果&#34;。但是当我试图:
String text = driver.findElement(By.cssSelector("div.dialog-components>h2")).getText();
文字是&#34; Helps / nExpectedResult&#34;。
我如何才能获得符合我期望的文字? 请帮忙,非常感谢你。
答案 0 :(得分:1)
可以将字符串拆分为Expected Result
,如下所示:
String text = driver.findElement(By.cssSelector("div.dialog-components>h2")).getText();
System.out.println(s.split("\n")[1]);
由于所需文字仅与div相关,而其他文字Expected Result
也与您的html相关,因此您无法获得getText()
Helps
f(x,y) with x = [1 2]; y=[1 2];
。如果代码有效,请告诉我。
答案 1 :(得分:0)
使用Xpath
String text = driver.findElement(By.xpath("//h2[@class='dialog-title']")).getText();
答案 2 :(得分:0)
要获取“帮助”文本,请使用以下xpath:
String text1 = driver.findElement(By.xpath("//h2[@class='dialog-title']/div[@class='help-link']")).getText();
要获取“预期结果”文本,请使用以下xpath(如Arun所写):
String text2 = driver.findElement(By.xpath("//h2[@class='dialog-title']")).getText();
如果您希望两个文本都在相同的结果中,只需在将结果用于其他地方之前将它们连接起来。
查看有关findElement
的更多详情here。