在Java中使用Selenium WebDriver跨类getText()
它的一行中的一个表包含以下可用的td,我想在单独的字符串中获取span类值(其动态n个span可能可用), 指加利福尼亚州奥克兰富兰克林街1111号94607-5200 HTML在Java中使用Selenium WebDriver跨类getText(),java,xpath,selenium-webdriver,Java,Xpath,Selenium Webdriver,它的一行中的一个表包含以下可用的td,我想在单独的字符串中获取span类值(其动态n个span可能可用), 指加利福尼亚州奥克兰富兰克林街1111号94607-5200 HTML 请帮助获取span class值。首先获取所有span元素,并将它们保留在WebElement列表中。然后在循环中使用getText()获取元素。您可以像下面这样使用: List<WebElement> allSpanElements = driver.findElements(By.xpath(" //*
请帮助获取span class值。首先获取所有span元素,并将它们保留在WebElement列表中。然后在循环中使用getText()获取元素。您可以像下面这样使用:
List<WebElement> allSpanElements = driver.findElements(By.xpath(" //*[@id='printable-area']/table[" + r + "]/tbody/tr[4]/td/p[2]/span"));
for (WebElement elem : allSpanElements) {
String address = elem.getText();
//System.out.println(address);
}
正如您所提到的,您可以使用以下xpath轻松获取受让人名称:
String recAssignee = driver.findElement(By.xpath(" //*[@id='printable-area']/table[" + r + "]/tbody/tr[4]/td/a")).getText().replace("Assignee", "");
现在,要获取单独字符串中的跨度类值,例如加利福尼亚州奥克兰富兰克林街1111号94607-5200,可以使用以下代码块:
List<WebElement> myElements = driver.findElements(By.xpath("//*[@id='printable-area']/table[" + r + "]/tbody/tr[4]/td/a[@class='ng-binding ng-scope']/span[@class='ng-binding ng-scope']"));
List<String> partA = new ArrayList<String>();
List<String> partB = new ArrayList<String>();
for(int i=0; i<myElements.size(); i=i+2)
{
String textA = myElements.get(i).getAttribute("innerHTML");
partA.add(textA);
}
for(int j=1; j<myElements.size(); j=j+2)
{
String textB = myElements.get(j).getAttribute("innerHTML");
partB.add(textB);
}
System.out.println("The Complete Addresses are : ");
for(int k=0; k<partA.size();k++)
System.out.println(partA.get(k) + " , " + partB.get(k));
List myElements=driver.findElements(By.xpath(“/*[@id='printable-area']]/table[“+r+”]/tbody/tr[4]/td/a[@class='ng-binding-ng scope']]/span[@class='ng-binding-ng scope']);
List partA=new ArrayList();
List partB=new ArrayList();
对于(int i=0;我想打印加利福尼亚州奥克兰富兰克林街1111号94607-5200
,还是只打印富兰克林街1111号,或者只打印加利福尼亚州奥克兰94607-5200?@Prabu你得到答案了吗?@Prabu很高兴知道你的答案。我已经把这个问题投了更高的票,以便其他人可以从你那里得到帮助信息技术
By.className("ng-binding ng-scope");
String recAssignee = driver.findElement(By.xpath(" //*[@id='printable-area']/table[" + r + "]/tbody/tr[4]/td/a")).getText().replace("Assignee", "");
List<WebElement> myElements = driver.findElements(By.xpath("//*[@id='printable-area']/table[" + r + "]/tbody/tr[4]/td/a[@class='ng-binding ng-scope']/span[@class='ng-binding ng-scope']"));
List<String> partA = new ArrayList<String>();
List<String> partB = new ArrayList<String>();
for(int i=0; i<myElements.size(); i=i+2)
{
String textA = myElements.get(i).getAttribute("innerHTML");
partA.add(textA);
}
for(int j=1; j<myElements.size(); j=j+2)
{
String textB = myElements.get(j).getAttribute("innerHTML");
partB.add(textB);
}
System.out.println("The Complete Addresses are : ");
for(int k=0; k<partA.size();k++)
System.out.println(partA.get(k) + " , " + partB.get(k));