如何获取具有相同类名的div标签中的元素文本

时间:2018-03-26 10:19:56

标签: java list selenium selenium-webdriver selenium-chromedriver

我的网络应用程序中有38个div标签,我想在每个div标签中显示文本。以下是代码: -

  

<div class="w-100 dt pa2 f7"> //这是父div类

     

<div class="bg-white-10"> //子类

     

<div class="dib bg-dirty-green w-100"> // sublcass

     

<p class="pa2 ma0 fl f6"> //我想要捕获文本的类

     

<span class="v-mid">Mega Contest - 20</span> </p> //这是我要捕捉的文字。

我尝试使用以下代码: -

WebElement wb = driver.findElement(By.xpath("/html/body/div[1]/div/div/div[2]/div[3]/div[3]")); //CONTEST_TABLE

List<WebElement> list = driver.findElements(By.xpath("//*[@class='pa2 ma0 fl f6']")); //NUMBER_OF_CONTEST

    int rc=list.size();
    System.out.println(rc);
    for(int i=0;i<rc;i++)
    {
        WebElement Contest_Name= list.get(i).findElement(By.xpath("//*[@class='pa2 ma0 fl f6']"));
        String name = Contest_Name.getText();
        System.out.println(name);
    }
  

我正在参加&#34; Mega Contest - 20&#34; 38次......

1 个答案:

答案 0 :(得分:0)

无需检索列表数组中的元素,您可以单次获取它:

如果span类具有唯一名称,则

//span[@class='v-mid']

如果它的公共类名可以与xpath条件的以下参数一起使用://p[@class='pa2 ma0 fl f6']//following::span[@class='v-mid']