1

我想在表格行中选择某个超链接。我的链接有两个类别“mf”和“6day”。我希望能够选择具有上述之一的行(现在只有 1 行就可以了),然后移动到第二个锚标记,然后存储链接(storeAttribute)。

所以我有一张这样的桌子:

  ______________________________________
th |  td   | role|  td |  td |  td | td |
 _________________________________________
tr |  6day | a   | txt | txt | txt | a9 |
tr |  6day | a   | txt | txt | txt | a9 |
tr |  mf   | a   | txt | txt | txt | a1 | <-- the a1 here (2nd anchor link)
tr |  6day | a   | txt | txt | txt | a9 |
tr |  6day | a   | txt | txt | txt | a9 |

我想要其中包含纯文本“mf”的行。

然后我想要“下一个”'a'(锚)标签,即a1链接(它实际上是一个 'a' 而不是 'a1' 但我用 a1 来区分它)。

我可以选择我想要的行:

storeAttributexpath=(//table/tbody/tr/td[contains(text(),'Monday - Friday')])

但试图然后选择该行中的下一个标签让我感到困惑。

我已经用各种 , 等尝试了上述方法/..//a..//a但没有运气

我可以使用这个:xpath=(//table/tbody/tr[3]/td[8]/a)但这取决于桌子的布局,所以对于我的需要来说太脆弱了。

“真正的”HTML 表位于:http: //jsfiddle.net/8LJMu/

4

1 回答 1

1

You want (//table[@id='practitioners']/tbody/tr[td[contains(@class, 'calendar') and contains(.,'Monday - Friday')]]//td[@class='']/a[@target='_blank'])[1] - literally, "the first item of the node-list composed of all anchor elements with a "_blank" target attribute contained in any cell with no CSS class contained in any rows in the 'practitioners' table that contain a 'calendar' cell containing "Monday - Friday". If you're looking for all such cells, just remove the leading ( and the trailing )[1].

于 2012-12-11T22:55:35.480 回答