XPath查找没有id或类的元素

pri*_*ank 75 xpath

如何获取没有id属性的所有tr元素?

<tr id="name">...</tr>
<tr>...</tr>
<tr>...</tr>
Run Code Online (Sandbox Code Playgroud)

谢谢

Wel*_*bog 123

很简单:

//tr[not(@id) and not(@class)]
Run Code Online (Sandbox Code Playgroud)

这会给你所有tr缺乏这两种元素idclass属性.如果您希望所有tr元素都缺少其中一个,请使用or而不是and:

//tr[not(@id) or not(@class)]
Run Code Online (Sandbox Code Playgroud)

当以这种方式使用属性和元素时,如果属性或元素具有值,则将其视为是真的.如果它丢失则将其视为错误.


mip*_*phe 15

如果你正在寻找一个元素具有a,但上课b,你可以做到以下几点.

//*[contains(@class, 'a') and not(contains(@class, 'b'))]
Run Code Online (Sandbox Code Playgroud)

或者,如果你想确保不匹配部分.

//*[contains(concat(' ', normalize-space(@class), ' '), ' some-class ') and 
not(contains(concat(' ', normalize-space(@class), ' '), ' another-class '))]
Run Code Online (Sandbox Code Playgroud)


vtd*_*hor 9

你能试一下吗 //tr[not(@id)]?