CsQuery获取IDomObject元素的完整CSS选择器
2024-10-11 00:34:03
一、方法说明
通过IDomObject元素,获取完整的CSS选择器,过滤HTML和BODY元素,自动将class、id添加到选择器上,优先添加class,无class再添加id。如:
<html>
<head></head>
<body>
<div id="result">
<h3 class="t"><a "="" href="http://www.baidu.com/link?url=PgEyrxusTKZjg64DFOd_qlTy4o7dXLH_26WOy1mg6JUwVE4L_KrH24eG7s49yN8R-iBqQEb80m2gLmAzab8FIK&ck=4276.4.1526360648567.0.0.250.568.0&shh=www.baidu.com&sht=baidu" target="_blank">CSS教程</a></h3>
</div>
</body>
</html>
a元素的完整的CSS选择器为:DIV#result H3.t A
二、方法实现
public string GetFullCssSelector(IDomObject dom)
{
string str = "";
while (dom != null && dom.NodeName != null)
{
string nodeName = dom.NodeName;
if (!(new[] {"HTML", "BODY"}.Contains(nodeName))) //过滤HTML、BODY
{
if (dom.HasAttribute("class"))
{
string s = dom.Attributes["class"];
s = s.Replace(" ", " ").Replace(" ", " ").Replace(" ", " ");
string[] strings = s.Split(' ');
foreach (string str2 in strings)
{
nodeName += "." + str2;
}
}
else if (dom.HasAttribute("id"))
{
nodeName += "#" + dom.Attributes["id"];
}
str = nodeName + " " + str;
}
dom = dom.ParentNode;
}
return str.Trim();
}
--版权信息--
转载请标明文章出处,谢谢!
文章作者:易几 http://www.cnblogs.com/InfoStudio/
--版权信息--
最新文章
- Java 9将采用新的版本字符串格式
- 概念:P制,N制,奇场,偶场,隔行扫描,逐行扫描
- LAMP之准备,samba搭建
- 9.S5PV210的时钟系统
- 使用sqlserver的游标功能来导数据的常见写法
- js 设置回车事件
- 如何用C#代码查找某个路径下是否包含某个文件
- 2014年最火的 21个JavaScript 框架
- 【转】hive简介安装 配置常见问题和例子
- What is a heap?--reference
- HDU 3376 &;amp;&;amp; 2686 方格取数 最大和 费用流裸题
- angular指令系列---多行文本框自动高度
- 在win7下如何设置计划任务每一分钟执行一次
- .md即markdown文件的基本常用编写语法
- JavaWeb笔记一、Servlet 详解
- 微信小程序开发小记
- post推送消息时的乱码
- Slider绑定事件,初始化NullPointerException错误
- Vue(六) 表单与 v-model
- X5webview去掉分享功能和缓存功能
热门文章
- extjs 解决使用store.sync()方法更新item有时不触发后台action的问题
- 【Objective-C】内存管理
- Flex(ActionScript)与JavaScript交互的两种方式示例
- PEB标记反调试方法
- Python数据科学“冷门”库
- Dockerfile 中的 multi-stage(多阶段构建)
- sharding:谁都能读懂的分库、分表、分区
- Perl数组和hash相关函数
- maven web工程缺少 src/main/java 和 src/test/java 资源文件夹的方法
- webAPI 控制器(Controller)太多怎么办?