【问题标题】:C# Selenium how to get outerhtml of a element's all childsC#Selenium如何获取元素所有子元素的outerhtml
【发布时间】: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>
【问题讨论】:
标签:
c#
selenium
webdriver
innerhtml
outerhtml
【解决方案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"));