【问题标题】:Convert CSS Selector to XPATH将 CSS 选择器转换为 XPATH
【发布时间】:2012-09-16 08:14:56
【问题描述】:

我在how to map CSS selectors to XPATH queries 上看到了一篇在线文章,所以我想弄清楚是否有任何.NET 库可以进行映射/转换。如果您对如何执行映射有任何参考或任何想法(如果库不可用),请告诉我。

【问题讨论】:

  • @MUG4N,值得回答。
  • 我写了一个 Pascal 库来将 CSS 3 选择器转换为 XPath 2。但它直接创建了 XPath 表达式的 AST,从不将表达式保持为序列化形式,所以我认为它不会有帮助你在这里......(在 XPath 引擎中,所以你可以像 /html/css("div.whatever a")/@href 一样混合它。恕我直言,他们应该将它添加到 XPath 标准中,不再需要转换任何东西。)
  • 作为参考,我想您会发现XPath, CSS, DOM and Selenium: The Rosetta Stone 及其随附的挂图很有用,提供了更全面的食谱。

标签: c# .net css xpath css-selectors


【解决方案1】:

你可以试试这里的 Css2Xpath 库:https://bitbucket.org/MostThingsWeb/css2xpath/wiki/Home

我从未使用过,但也许您可以与我们分享您的经验。

这里是一个小例子:

String css = "div#test .note span:first-child";
String xpath = css2xpath.Transform(css);

【讨论】:

  • 其中存在一些字符串文字错误,并且 first-childlast-child 在某些情况下不起作用,例如:[width="150"]:last-child。否则效果很好,谢谢!
  • 大家好 - 我是 css2xpath 的作者(好吧,无论如何是端口)。我刚刚发布了一个新项目 css2xpath Reloaded 来替换这个:bitbucket.org/MostThingsWeb/css2xpath-reloaded。您不应该对字符串文字有问题,也不应该对伪类有问题。它尚未经过全面测试,但您可能想检查一下。
  • @ChrisLaplante - 不确定这是否是正确的提问地点,是在 c# 中的 xpath 到 css 之后吗?你知道吗?
  • @Ram:对不起,我已经好几年没看这些东西了。我不知道。
猜你喜欢
  • 2019-04-20
  • 1970-01-01
  • 2012-05-11
  • 2012-01-17
  • 1970-01-01
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多