使用Selenium访问内部文本锚标记

时间:2014-06-28 19:34:35

标签: html selenium selenium-rc

我正在尝试迭代表并通过XPath访问值, 例如:

/html/body/div[2]/form/div/table/tbody/tr/td[2]/table[4]/tbody/tr[3]/td[10]/span/a
/html/body/div[2]/form/div/table/tbody/tr/td[2]/table[4]/tbody/tr[4]/td[10]/span/a
/html/body/div[2]/form/div/table/tbody/tr/td[2]/table[4]/tbody/tr[5]/td[10]/span/a
/html/body/div[2]/form/div/table/tbody/tr/td[2]/table[4]/tbody/tr[...]/td[10]/span/a

锚标记的内部html中包含的值:

    <td>
     <span id="TUFLMTU1MA%3D%3D">
      <a onclick="return false" target="_top" href="">VALUE I WANT</a>
     </span>
    </td>

我尝试过Xpath语句,除非使用超链接,否则通常可以正常工作。我无法使用id属性,因为它们都是动态的。我试图抓住的文字是上面的“我想要的”。此外,“我想要的价值”会在整个表格中发生变化,因此我不能仅仅基于此,因为它不是每次都有相同的价值。

我使用的是Selenium RC而不是网络驱动程序。

1 个答案:

答案 0 :(得分:0)

将您的xpath放入&#39;用于&#39;循环并迭代它与元素一样多次

for(int x = 1; x < your_neumber_of_elements; x++) {
  WebElement e = driver.findElement(By.xpath("//table/tbody/tr/td[2]/table[4]/tbody/tr[" + x + "]/td[10]/span/a"));
  Syste.out.println(e.getText());
}