How would I select all the tables between the table whose id is header_completed and the first table after the header_completed one that has an align of center? Here is the html I am selecting it from:
<table border="0" cellpadding="0" cellspacing="0" width="920" align="center"></table>
<table border="0" cellpadding="0" cellspacing="0" width="920"></table>
<table border="0" cellpadding="0" cellspacing="0" width="920"></table>
<table border="0" cellpadding="0" cellspacing="0" width="920" align="center" class="header_completed"></table>
<table border="0" cellpadding="0" cellspacing="0" width="920"></table> <-- -->
<table border="0" cellpadding="0" cellspacing="0" width="920"></table> <-- -->
<table border="0" cellpadding="0" cellspacing="0" width="920"></table> <-- these 5 -->
<table border="0" cellpadding="0" cellspacing="0" width="920"></table> <-- -->
<table border="0" cellpadding="0" cellspacing="0" width="920"></table> <-- -->
<table border="0" cellpadding="0" cellspacing="0" width="920" align="center"></table>
<table border="0" cellpadding="0" cellspacing="0" width="920"></table>
<table border="0" cellpadding="0" cellspacing="0" width="920"></table>
<table border="0" cellpadding="0" cellspacing="0" width="920" align="center"></table>
I tried using //table[@id="header_completed"]/following-sibling::node()[following-sibling::table[@align="center"][1]] but it didn’t work.
I believe this XPath expression selects the nodes you want:
First I navigate to the
tablewith@class="header_completed".From there I select the first following sibling table with
@align="center".From there I select all preceding sibling tables that have a preceding sibling which is the table with
@class="header_completed".