Java selenium 抓取元素的整个 html 内容

Posted

技术标签:

【中文标题】Java selenium 抓取元素的整个 html 内容【英文标题】:Java selenium grabbing entire html contents of the element 【发布时间】:2017-08-25 00:29:06 【问题描述】:

我想知道是否有一种方法可以获取元素的两个标签之间的整个 html 代码,以及元素标签,然后将其存储在一个字符串中。

假设我使用以下内容创建 Web 元素列表,然后用所有 Web 元素填充列表。

List<WebElement> element = driver.findElements(By.xpath("//*"));
//Some for loop after this to access each value

如果我使用以下内容获取第三个网络元素,它只会打印标签名称,因为它应该:

System.out.println(element.get(3).getTagName()); 

因此它会打印段落元素“p”或“input”,例如,如果它是存储的第三个 Web 元素

但我想知道是否有可能获取 web 元素的整个 html 代码行并打印它,而不是只打印标签名称“p”?

例如

<p> some text </p>

有没有办法做到这一点?

【问题讨论】:

在这种情况下是否需要使用硒?例如使用 javascript,它会更容易:***.com/questions/2631019/… 【参考方案1】:

你可以阅读outerHTML属性来获取整个元素。

element.getAttribute("outerHTML");

或者在你的情况下:

System.out.println(element.get(3).getAttribute("outerHTML")); 

希望对你有帮助!

【讨论】:

非常感谢,这正是我想要的!

以上是关于Java selenium 抓取元素的整个 html 内容的主要内容,如果未能解决你的问题,请参考以下文章

利用 selenium 抓取 淘宝信息

简单:如何使用 Selenium Webdriver 分离由类名抓取的元素?

爬虫---selenium动态网页数据抓取

网页抓取 selenium 按类名查找元素

使用selenium动态渲染爬取拉勾网上450个java职位的信息

selenium元素定位(Java)