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
如何在 Selenium WebDriver 中获取元素的文本,而不包括子元素文本?
如何使用Selenium C#WebDriver查找所有父元素?