问题标签 [csquery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1032 浏览

c# - CsQuery: how to iterate over all elements?

I need to implement a function that returns the first element the has Id attribute that contains a certain string.

in HAP I used to implement it as follows:

How do I loop over all elements in CsQuery?

0 投票
2 回答
127 浏览

internet-explorer - 为什么 IE 生成的 DOM 和 CSQuery DOM 有区别?

我正在尝试使用 CSQuery 解析网站的 DOM。如果我在 IE 中打开一个站点并检查一个元素,它的 HTML 与使用 CSQuery.CreateFromUrl 方法加载的同一站点略有不同(属性的顺序和值之间的间距)。例如IE生成的div样式为“style=margin-bottom: 0.5em;” 对于相同的 div,CSQuery 的 Render 方法生成了不同的 HTML "style=margin-bottom:0.5em;" [ :] 后没有空格。

结果,当我为“div [style ='margin-left:0.5em;']”创建CSQuery选择器时,它不起作用,因为CSQuery的内部DOM在':'和'0.5'之间没有空格。

我的问题是我的应用程序用户将使用 IE 来检查 DOM 元素,因此创建 CSS 选择器来使用 CSQuery 查询 DOM。对于这种情况,我可以从代码中的选择器中删除空格,但我不想这样做,因为其他选择器之间可能存在一些其他细微差别。

那么有什么方法可以确保 CSQuery 生成与 IE 相同的 DOM 吗?我尝试过使用 CSQuery.Creat( HTML return by IE ),但不知何故 CSQuery 仍然以不同于 IE DOM 的方式格式化 HTML。

谢谢,托尼

0 投票
1 回答
267 浏览

csquery - CsQuery:获取 DomElement 的后代

我有一个有 N 个表格的网站。

Foreach 表单我想选择所有输入元素。如何在代码注释中看到 (1) + (2)?

另一个问题:为什么 DomElement.Cq() 指的是整个文档而不是当前元素?我怎样才能让它引用当前元素?

谢谢

0 投票
2 回答
890 浏览

c# - 在 CsQuery 中循环遍历 div 中的元素

我正在尝试打开一个 HTML 文件,遍历匹配特定条件的 div,然后遍历匹配这些 div 中特定条件的 p 标签。

它可以很好地选择 div,但我不确定如何在 div 中选择 p 标签。我知道这条线有问题:

但是我应该改变什么?

0 投票
1 回答
529 浏览

c# - CsQuery:在操作 InnerText 后丢失嵌套的 html-Tag

我在 C# 项目中使用 CsQuery。作为一个简单的例子,我有一个 p-Tag,其中有一个嵌套的 b-​​Tag:

我需要使用另一种方法 (louis()) 修改每个标签中的纯文本,即 p-Tag 和 b-Tag 内的文本:

当我尝试(仅)用新文本替换 p-Tag 内的文本时,嵌套的 b-​​Tag 会丢失。我该如何防止这种情况发生,我确信有更好的方法来操作嵌套元素,因为它是一个强大的框架。我只是还没有弄清楚。

0 投票
4 回答
1540 浏览

c# - 从 HTML 表中存储数据的最佳方式是什么?

我目前正在使用 CsQuery 阅读 HTML 文档。该文档有几个 HTML 表格,我需要在保留结构的同时读取数据。目前,我只有一个字符串列表列表。这是一个包含行列表的表格列表,其中包含包含内容为字符串的单元格列表。

有没有更好的方法来存储这些数据,以便我可以轻松访问特定的表格、特定的行和单元格?我正在编写几个处理这个 page_tables 对象的方法,所以我需要先确定它的公式。

0 投票
1 回答
11429 浏览

c# - 使用 CSQuery 解析 HTML

如何div使用 CSQuery 通过 ID 从标签中检索值?

例如,

在这种情况下,我想获取里面的内容typeprice.

0 投票
1 回答
2289 浏览

c# - CSQuery 选择元素

我有一个html文件如下:

现在我想使用 CSQuery 将这些类型和价格提取到一个列表中,这是我正在处理的代码:

var doc = CQ.Create(htmlfile);

但是,我无法如愿获得详细信息,因为当我将其设置为 h3 时,我不确定 doc[] 的值。无法修改 html 文件。

0 投票
2 回答
729 浏览

csquery - HTML

节点 InnerText 包括 CsQuery 中的锚文本

我正在使用 CsQuery 解析一些 wordpress 博客文章,对它们进行一些文本聚类分析。我想从相关<p>节点中删除文本。

在其中一篇文章中,InnerHTML看起来像这样:

和相应InnerText的这样

一个 MIT Europe 项目试图通过使用两张桌子、一堆 RFID 标签和几个投影仪。

即内部文本缺少锚文本。我可以自己解析 HTML,但我希望有办法让 CsQuery 给我

一个麻省理工学院欧洲项目,试图通过使用两张桌子、一堆 RFID 标签和几台投影仪来连接两个相距甚远的亲人。

(我的斜体。)我应该怎么得到这个?

0 投票
1 回答
55 浏览

c#-4.0 - 执行存储的 CSQuery

我正在尝试创建一个爬虫,我需要能够执行不同的查询以从爬取的页面中提取不同类型的数据。我一直在研究 CsQuery 以提取数据,当我有一个简单的 CSS 选择器时,它似乎工作得很好

h4:包含('文本字符串')

我的问题是我需要能够评估如下复杂查询:

["h4:contains('textstring')"].Parent().Parent().Find("div").Find("span").Text();

我还没有找到任何好的解决方案。CsQuery 可以轻松完成上述操作,但前提是我将其编写在代码中,并且由于我希望能够执行保存在数据库中的查询,因此我需要能够动态加载和执行查询。我目前最好的想法是让递归函数一次通过一个点的语句,但这将导致对该函数的 6 次调用才能执行上述查询。似乎我最终会创建 CsQuery 中已经存在的功能,但我想不出一种更优雅的方式来解决这些问题。

任何想法将不胜感激。