Javascript 无子体的Selenium getText

Javascript 无子体的Selenium getText,javascript,node.js,selenium,selenium-webdriver,Javascript,Node.js,Selenium,Selenium Webdriver,有没有一种很好的方法来获取当前WebElement的文本,而不包含子体包含的文本 给定网页中的以下结构: <div class="bottom"> 11:22:08<span class="hide-on-small-only"> UTC</span> </div> 可以这样回答:我应该删除空格字符后面的所有内容,但这个问题是指在提取文本时不包含子体标记中的文本的一般问题。尝试使用JavascriptExecutor获得所需的输出,如下所示:

有没有一种很好的方法来获取当前WebElement的文本,而不包含子体包含的文本

给定网页中的以下结构:

<div class="bottom">
  11:22:08<span class="hide-on-small-only"> UTC</span>
</div>

可以这样回答:我应该删除空格字符后面的所有内容,但这个问题是指在提取文本时不包含子体标记中的文本的一般问题。

尝试使用
JavascriptExecutor
获得所需的输出,如下所示:

WebElement element=driver.findElement(By.xpath("//div[@class='bottom']"));
JavascriptExecutor jse = (JavascriptExecutor)driver;
String time = (String) jse.executeScript("return arguments[0].childNodes[0].nodeValue;", element);

“马肯,你能考虑给我们看一下你的作品吗?”Thanks@DebanjanB你说的“工作”是什么意思?我已经描述了示例场景,请考虑向我们展示您的<代码>工作>代码>代码>研究> <代码>代码>相关HTML DOM<代码>和<代码>错误堆栈跟踪< /代码>以及您的代码>测试环境细节<代码>,以便志愿者分析实际问题并帮助您。ThanksI编辑了这个问题,并添加了更多细节。我认为这个问题包含了回答这个问题所需的所有相关信息。在我发布这个问题之前,我已经看过这个问题:它包含了类似的答案。不幸的是,JS
seleniumwebdriver
似乎没有提供这样的API:哦,对不起,我没有注意到您使用了
nodeJS
。请尝试
var time=driver.executeScript(“return document.querySelector('div.bottom').childNodes[0].nodeValue;”此抛出:
WebDriverError:未知错误:Runtime.evaluate抛出异常:SyntaxError:无效或意外令牌(会话信息:chrome=58.0.3029.110)
。当我将“脚本”传递到浏览器控制台时,它不会失败,而是打印评论。时间文本位于子节点[0]。这证明该解决方案不是非常健壮和可靠,因为它包含不可见的节点。最好按照我在问题中描述的方式来做。
WebElement element=driver.findElement(By.xpath("//div[@class='bottom']"));
JavascriptExecutor jse = (JavascriptExecutor)driver;
String time = (String) jse.executeScript("return arguments[0].childNodes[0].nodeValue;", element);