我解析一個網頁,其中包括這樣的結構:XPath的:找到不同的行中同一位置的表格單元格
<tr>
<td>Label 1</td>
<td>Label 2</td>
<td>Label 3</td>
<td>Something else</td>
<\tr>
<tr>
<td>Item 1</td>
<td>Item 2</td>
<td>Item 3</td>
<\tr>
我需要做的是選擇基於它的標籤上的項目,所以我的想法如果標籤位於行中的第3個標籤中,我可以抓住下一行中的第3個標籤來查找該項目。我不知道如何使用position()函數,也許xpath(1.0)無法處理這種類型的過濾。
到目前爲止,我的最佳嘗試是://td[ancestor::tr[1]/preceding-sibling::tr[1]/td[position()]]
。我希望position()函數可以在xpath的開頭抓取<td>
的位置,因爲xpath的其餘部分是該節點的過濾器。
我試圖做甚至可能嗎?
您使用哪種庫/編程語言來執行XPath?我不認爲這可以在純XPath 1.0中完成,您需要將來自外部上下文的'position()'存儲在一個變量中,然後在謂詞中使用該變量,以及如何設置變量的方式因工具而異工具。 –
我使用硒webdriver。 – eldon111
您正在使用哪種selenium-webdriver語言綁定?使用各種硒方法而不是純xpath解決方案可能更容易。 –