我在我的rails应用程序中使用nokogiri gem来获得一些html节点。我正在通过班级获得我的div。但是这个班名有时候会改变。例如,现在我得到它是这样的:Nokogiri - 通过正则表达式获取div类
doc.css("div.t.m0.x15.h3.ff2.fs1.fc0.sc0.ls0.ws1")
但是,例如,“x15”可以是“x13”。我可以做这样的事情:
doc.css("div.t.m0.x13.h3.ff2.fs1.fc0.sc0.ls0.ws1", "div.t.m0.x15.h3.ff2.fs1.fc0.sc0.ls0.ws1")
这工作,但我认为这将是更好的设置范围,像X13-X15,所以如果它而来的,是x14的,我不需要保持它如此详细。
如何做到这一点的任何提示?谢谢!
编辑:
我不能删除“x *”级,“原因有什么这两个元素的差异是‘X’级相同的其他类,因此另一个DIV。另一个是xa,xb;而我试图得到的这个是x13,x15。
您可以不做'doc.css(“div.t.m0.h3.ff2.fs1.fc0.sc0.ls0.ws1”)'(不含' x13'或'x15'),然后检查所选元素是否也有'x \ d \ d'类? – GolfWolf
也许你可以用不受变化影响的选择器来定位div。你的标记是怎样的?为什么班级改变? _“x15可以是x13”_似乎有点任意。 – Stefan
不能这样做,更新了问题。如果我删除了x *类,我还会得到另一个元素 –