mas*_*ssa 11 html css xpath parsing nokogiri
如何选择一个有两个类的html元素?
例如,如何<p>在HTML文档中选择元素(假设它有两个css类)class='class1 class2'.
我试着使用以下内容:
doc.xpath("//p[@class~='class1 class2']")doc.xpath("//p[@class~='class1']|[@class~='class2']")doc.xpath("//p[@class~='class1',@class~='class2']")doc.xpath("//p[contains(concat(' ', @class, ' '), ' class1 ') && contains(concat(' ',@class, ' '), ' class2 ')]")但没有成功.
提前致谢
mas*_*ssa 21
最后,我找到了使用nokogiri(libxml)搜索多个css类的正确方法:
doc.xpath('//p[contains(@class, "class1") and contains(@class, "class2")]')
Run Code Online (Sandbox Code Playgroud)
它并不完美,因为如果<p>包含诸如class10和类之类的类class20将被选中,但是现在它足以满足我的需要.如果您有更多建议,欢迎他们!
以下是仅使用css解决此问题的更好方法:
doc.css('p.class1.class2')
Run Code Online (Sandbox Code Playgroud)
感谢Aaron Patterson :-)
| 归档时间: |
|
| 查看次数: |
13260 次 |
| 最近记录: |