if(Meteor.isServer) { ... }
我想通过查找元素并使用.getText()来获取文本“givemetext”;抓住你是我已经抓住了一个周围的元素,我正在做这样的事情“
<ul class="meta">
<li class="user">
<img class="classname" src="some url">
givemetext
</li>
</ul>
'i'是我已找到的每个元素。我也尝试将/ img添加到xpath但没有找到文本。任何方向都很棒!谢谢。这是java btw(如果你从System.out中看不到;)。
答案 0 :(得分:1)
该文本可能与img标记关联,因为它遵循img标记。所以可能是这样的:
List<WebElement> user = i.findElements(By.xpath("../ul[@class='meta']/li[@class='user']/img"));
System.out.println("username! " + user.get(0).getText());
我没有在本地试过,但我接下来会尝试。
<强>更新强>
我在本地工作了以下内容:
WebElement listItem = driver.findElement(By.xpath("/html/body/ul/li"));
String text = "";
if (driver instanceof JavascriptExecutor) {
text = (String)((JavascriptExecutor) driver).executeScript(
"var nodes = arguments[0].childNodes;" +
"var text = '';" +
"for (var i = 0; i < nodes.length; i++) {" +
" if (nodes[i].nodeType == Node.TEXT_NODE) {" +
" text += nodes[i].textContent;" +
" }" +
"}" +
"return text;"
, listItem);
}
System.out.println(text);
}
答案 1 :(得分:0)
如果我做user.get(0).getAttribute(&#34; innerHTML&#34;);
使用img标签返回所有内容,我想这样可行,我只会修剪掉。
答案 2 :(得分:-1)
获取img标签后的文本你可以写下xpath如下: WebElement ele = findElement(By.xpath(“// ul / li / img [text()='giventext')); System.out.println(“text of element”+ ele.getText());