我的Web应用程序中有38个DIV标签,我想在每个DIV标签中获取文本。
<div class="w-100 dt pa2 f7">
//这是父级
<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);
}
我正在参加"大竞赛-20"38次...
无需在列表数组中检索元素,您可以单个时间获得它:
//span[@class='v-mid']
如果跨度类具有唯一名称,
或如果您可以使用XPATH条件的以下参数使用的公共类名称: //p[@class='pa2 ma0 fl f6']//following::span[@class='v-mid']