Search code examples
xpath

XPath to find elements that does not have an id or class


How can I get all tr elements without id attribute?

<tr id="name">...</tr>
<tr>...</tr>
<tr>...</tr>

Thanks


Solution

  • Pretty straightforward:

    //tr[not(@id) and not(@class)]
    

    That will give you all tr elements lacking both id and class attributes. If you want all tr elements lacking one of the two, use or instead of and:

    //tr[not(@id) or not(@class)]
    

    When attributes and elements are used in this way, if the attribute or element has a value it is treated as if it's true. If it is missing it is treated as if it's false.