Thanks, that makes a little bit more sense. I had understood that // was relative and / was absolute, but it seems to just be at least to me a really confusing description of what // is (for example at https://www.w3schools.com/xml/xpath_syntax.asp there is "Selects nodes in the document from the current node that match the selection no matter where they are", I'm not sure why it is relevant to select from the current node if you also select no matter where they are) Incase anyone else is dumb like me and manages to find this, I'll also mention that xpath1[0].xpath('.//table') doesn't return anything, but xpath1[0].xpath('.//tr') returns the one row that I want to see, while xpath1[0].xpath('//tr') returns the rows from both tables Google seems to think it is a stupid question, and I don't have a reason to need it now, but is there some way to exclude/delete elements/nodes outside the selection from the output/document?