C#Selenium如何获取元素所有子元素的outerhtml

Posted

技术标签:

【中文标题】C#Selenium如何获取元素所有子元素的outerhtml【英文标题】:C# Selenium how to get outerhtml of a element's all childs 【发布时间】:2021-12-25 11:47:58 【问题描述】:

下面是一个html代码; P>

<div id="div-f2qqs">
   <table class="table table-hover table-bordered">
      ....
   </table>
   <div class="head-2"></div>
      <p></p>
      <li></li>
  </div>

我想所有div-f2qqs的outerHTML的孩子。我该怎么办呢谁能帮助我? P>

【问题讨论】:

【参考方案1】:

试试

(//div[@id='div-f2qqs']).GetAttribute("outerHTML");

让我知道这是否有效

【讨论】:

【参考方案2】:

外部HTML

elementDOM 接口的outerHTML 属性获取描述元素及其后代的序列化 HTML 片段。也可以设置为用从给定字符串解析的节点替换元素。

理想情况下,要获得元素内容的 HTML 表示,您应该改用 innerHTML 属性。


要获取outerHTML,您可以使用以下Locator Strategies:

使用CssSelector

Console.WriteLine(driver.FindElements(By.CssSelector("div.div-f2qqs")).GetAttribute("outerHTML"));

使用XPath

Console.WriteLine(driver.FindElements(By.XPath("//div[@class='div-f2qqs']")).GetAttribute("outerHTML"));

【讨论】:

以上是关于C#Selenium如何获取元素所有子元素的outerhtml的主要内容,如果未能解决你的问题,请参考以下文章

在selenium2中,如何获取一个父节点下子节点的个数,所有的子节点的内容都有MOON

(PYTHON) 如何获取子元素 (Selenium)

如何在 Selenium WebDriver 中获取元素的文本,而不包括子元素文本?

如何使用Selenium C#WebDriver查找所有父元素?

如何使用 selenium webdriver、NUnit 和 C# 获取元素属性的子属性值

获取所有子元素