如何从selenium中的span类中获取文本

时间:2014-03-06 05:52:50

标签: java selenium selenium-webdriver

<th>     
    <span class="firstLanguage">Zeit</span>
</th>
<th>
    <span class="firstLanguage">Nach</span>
</th>
<th>
    <span class="firstLanguage"> </span>
</th>
<th>
    <span class="firstLanguage">Über</span>
</th>
<th>
    <span class="firstLanguage">Gleis</span>
</th>

如何从selenium中的span标签中提取文本。 是通过classname,还是所有四个class =&#34; firstLanguage&#34;

5 个答案:

答案 0 :(得分:3)

您可以尝试以下代码段。

 int count = selenium.getXpathCount("//span[@class='firstLanguage']").intValue();
 for(int i =1 ; i <= count ; i ++){
         System.out.println(selenium.getText("//span["+i+"]"));
 }

这将返回类firstLanguage定义的所有span元素,您可以迭代列表以从中获取文本。

答案 1 :(得分:2)

driver.findElement(By.xpath("/html/body/span")).getText();

将显示“ Zeit
    driver.findElement(By.xpath("/html/body/span[2]")).getText();
将显示“ Nach

同样


    driver.findElement(By.xpath("/html/body/span[5]")).getText();
将显示“ Gleis

答案 2 :(得分:1)

我相信你可以使用nth-child伪类来做到这一点,例如

.firstLanguage:nth-child(2)

答案 3 :(得分:0)

使用此代码:

 List<WebElement> elements =driver.findElements(By.xpath("//*/div/table/tbody/tr/th/span"));
            for(WebElement ele:elements)
            {
            System.out.println(ele.getText());
            }

将显示所有元素。

答案 4 :(得分:0)

更好的实施方法是使用findElements,请查看以下代码

List<WebElement> elements = driver.findElements(By.className("firstLanguage"));
for(WebElement element : elements){
   System.out.println(element.getText());
}

您还可以使用下面的其他定位器

xpath = //th//span[@class='firstLanguage']

css = th span[class='firstLanguage']