Clicando em um link de hipertexto usando o XPath

Desculpas se esta é uma pergunta idiota - eu sou novo no Selenium.

Eu tenho uma página da web que estou testando que tem alguns links de hipertexto em uma tabela. O HTML se parece com isso:

<table>
  <thead>
    <tr>
      <td><b>History</b></td>
      <td><b>Attributes</b></td>
      <td><b>Xml</b></td>
    </tr>
  </thead>
  <tbody>    
    <tr>
      <td><a href=link here>Show</a></td> 
      <td><a href=link here>Show</a></td>
      <td><a href=link here>Show</a></td> 
    </tr>
  </tbody>
</table>

Quero testar um clique em cada um dos links "Mostrar". Todos eles têm o mesmo texto, então não posso referenciá-los por linktext. Eu tenho feito referência a eles pelo XPath, para que:

driver.findElement(By.xpath("//div[@id='content']/div/form/div/table[2]/thead/tr/td[1]").getText()

retorna corretamente "Histórico" e

driver.findElement(By.xpath("//div[@id='content']/div/form/div/table[2]/tbody/tr/td[1]").getText()

retornos corretos 'Show'.

Então eu pensaria que:

driver.findElement(By.xpath("//div[@id='content']/div/form/div/table[2]/tbody/tr/td[1]")).click()

clicaria no link "Mostrar" na primeira coluna. Mas isso não acontece - nada acontece.

Se eu fizer:

driver.findElement(By.linkText("Show")).click()

clica no primeiro link "Show", que é o que eu espero.

Eu também posso fazer:

driver.findElement(By.xpath("//div[@id='content']/div/form/div/table[2].1.0")).click()

e isso funciona, assim como

driver.findElement(By.xpath("(//a[contains(text(),'Show')])[2]")).click()

Então, para resumir, tudo isso funciona:

driver.findElement(By.linkText("Show")).click()
driver.findElement(By.xpath("//div[@id='content']/div/form/div/table[2].1.0")).click()
driver.findElement(By.xpath("(//a[contains(text(),'Show')])[1]")).click()

mas isso não acontece:

driver.findElement(By.xpath("//div[@id='content']/div/form/div/table[2]/tbody/tr/td[1]")).click()

Por quê?

questionAnswers(3)

yourAnswerToTheQuestion