如何为csquery获取dom元素的正确唯一选择器?

时间:2014-05-13 16:58:55

标签: c# internet-explorer google-chrome firefox csquery

所以我试图抓住一个带有一些CC内容的网页,但是我无法用正确的唯一选择器来提供CsQuery。最初使用谷歌Chrome,IE 11和Firefox尝试失败(仅成功获得3/11元素)之后,我理解CsQuery使用了Gecko引擎。奇怪的是,使用Gecko引擎的Firefox并没有给我正确的选择器(同样是3/11场景)。所以我试着深入挖掘。 CsQuery的Gecko引擎验证器更新于2013年5月15日发布。所以当时我搜索了firefox版本(2013年5月14日发布的21)。我用它,只是对同样的结果感到失望。 (3/11)

所以, 你如何为你的项目获得正确的唯一选择器?任何提示都会对我有所帮助,我已经解决了这个问题大约两个星期了。如果绝对必要,我可以提供网址和我的要求,但我不愿意。

我所说的3/11元素是什么意思:

CQ somePage = CQ.CreateFromUrl(someUrlHereAsString);
String someQuery1 = "div someTag:nth-child(1) someOtherTag";
String someQuery2 = "div someOtherTagNotUsedBefore";
CQ someDom = somePage[someQuery1];
CQ someOtherDom = somePage[someQuery2];

现在,如果someDomnullsomeOtherDom有一个有效的csquery DOM元素,我说已成功获得1/2元素。

1 个答案:

答案 0 :(得分:0)

可能已经过时了...... 你真的需要一个SelectorGadget 一个chrome扩展,可以快速生成css选择器。 并且非常有用csquery来生成唯一和必需的css选择器。 您可以快速使用这两种工具编写Web scraper。