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

C# Selenium how to get outerhtml of a element's all childs

这是一个html代码;

<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 子项。谁能帮帮我,我该怎么做?

尝试

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

让我知道这是否有效

外层HTML

outerHTML attribute of the element DOM 接口获取描述元素(包括其后代)的序列化 HTML 片段。也可以设置为用从给定字符串解析的节点替换元素。

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


要获得 outerHTML 您可以使用以下 :

  • 使用 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"));