在火灾bug生成的xpath中的Tbody标签

Ter*_* Li 1 ruby firebug xpath hpricot

我正在尝试使用ruby hpricot库从在线htmls中提取一些数据.我使用firefox扩展fire bug来获取所选项目的xpath.

生成的xpath表达式中始终存在额外的tbody标记.在某些情况下,我必须从表达式中删除tbody标记以获取结果,而在其他情况下,我必须保留标记以获得结果.

我只是无法弄清楚何时保留tbody标签以及什么时候不要.

Dim*_*hev 5

为了考虑并避免此问题,请使用以下类型的XPath表达式:

 /locStep1/locStep2/.../table/YourSubExpression
|
 /locStep1/locStep2/.../table/tbody/YourSubExpression
Run Code Online (Sandbox Code Playgroud)

如果table没有tbody|节点,则union运算符()的第二个参数不选择任何节点,并且union的第一个参数选择所需节点.

或者,如果table 一个tbody孩子,那么联合操作的第一个参数选择没有节点和工会的第二个参数选择想要的节点.

最终结果:在两种情况下都选择了所需节点