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

标签 java html selenium

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

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

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 元素的整个 html 代码行并打印它,而不是仅打印标签名称“p”?

例如

<p> some text </p>

有什么办法可以做到这一点吗?

最佳答案

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

element.getAttribute("outerHTML");

或者在你的情况下:

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

希望对您有所帮助!

关于Java selenium 抓取元素的整个 html 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128733/

相关文章:

Java:在 CustomClassLoader 中添加类路径

CSS 位置绝对/相对更改外部 div 对齐方式

java - 在 Selenium Webdriver 警报上单击“确定”

java - 自动化测试时如何使用android默认浏览器

java - 以编程方式渲染 Play 2.0 View

java - 需要强制转换的 getContentPane()

java - 如何从源代码(JDK 中的 src.zip)构建 java JRE?

html - 如何解决img和屏幕左侧之间的间距以及导航栏选项不匹配的问题?

html - CSS、DIV 和 H1

css - Selenium XPATH 我在一列中有一个复选框列表。我正在尝试选择第 2 行中的复选框