当前位置: 首页 > 面试题库 >

获取页面的可见文本

赵智
2023-03-14
问题内容

如何使用不带HTML标记的Selenium Webdriver获得网页的可见文本部分?

我需要与Htmlunit中的函数HtmlPage.asText()等效的东西。

仅使用WebDriver.getSource函数获取文本并使用jsoup解析文本是不够的,因为页面中可能存在隐藏的元素(通过外部CSS),我对此并不感兴趣。


问题答案:

这样做By.tagName("body")(或使用其他选择器选择顶部元素),然后getText()对该元素执行操作将返回所有可见文本。



 类似资料:
  • 问题内容: 我整天一直在搜寻,找不到答案,因此如果已经回答了,请提前道歉。 我正在尝试从大量不同的网站中获取所有可见的文本。原因是我要处理文本以最终对网站进行分类。 经过几天的研究,我认为硒是我最好的机会。我发现一种使用Selenium来捕获所有文本的方法,不幸的是同一文本被多次捕获: 该内部条件环路消除同一文本多次读取的问题的尝试-但是,它没有,只是作为计划在某些网页的工作。(这也使脚本慢很多)

  • 问题内容: 基本上,我想使用来严格抓取网页上的可见文本。例如,此网页是我的测试用例。我主要想获取正文文本(文章),甚至在这里和那里甚至几个标签名称。我已经尝试过在这个SO问题中返回不想要的标签和html注释的建议。我无法弄清楚该函数所需的参数,以便仅获取网页上的可见文本。 那么,我应该如何查找除脚本,注释,CSS等之外的所有可见文本? 问题答案: 尝试这个:

  • 问题内容: 我在JScrollPane中有一个JeditorPane。在应用程序中的某些点,我想检索在scrollPane中可见的文本(当前正在显示的文本)以及仅此文本。有没有办法做到这一点? 谢谢, 艾略特 问题答案: 您可以使用视口来获取视图的位置和大小。 一旦知道了视口的起点/终点,就可以使用: 一旦知道了文本的偏移量,就可以从组件中获取文本: 没有代码经过测试。

  • 如何在中获取当前项?在我的用例中,RV项占用了所有屏幕空间,因此一次只有一个项。我以前试过谷歌,但没有找到任何有用的东西。

  • 如果页面底部可见,则返回 true ,否则返回 false 。 使用 scrollY,scrollHeight 和 clientHeight 来判断页面的底部是否可见。 const bottomVisible = () => document.documentElement.clientHeight + window.scrollY >= (document.documentElement

  • sp_sql_page($id) 功能: 获取指定id的页面 参数: $id:页面的id 返回: 类型数组,符合条件的页面 示例: <?php $ID=1000; // $page=sp_sql_page($ID); print_r($page);