0

在 selenium-webdriver (Java) 中,

例如,我们可以获得 GWT 元素
WebElement obj = driver.findElement(By.id("gwt-debug-celltable"));

通过obj我们可以获得celltable的webelement,但我们不会得到实际的celltable。因此,如果想使用 Selenium-Webdriver 检查 celltable 中的记录数。我需要做什么?

可能吗?如果是,请尽快回答。

4

2 回答 2

1

是的。您可以使用 xpath 以某种方式做到这一点:

List<WebElement> elements =
     driver.findElements(By.xpath("//table[@id='gwt-debug-celltable']/tbody/tr"));

在元素中将是行列表。我没有测试过这段代码。但它喜欢我们在项目中使用的那个。

于 2012-08-29T18:14:07.420 回答
0

对于 webtable,我从下面的代码中引用了以下链接 http://money.rediff.com/gainers/bsc/daily/groupa ,您可以从 webtable 中获取所有值

    public class MaxFromTable {
public static void main(String[] args) throws ParseException {
WebDriver wd;
System.setProperty("webdriver.chrome.driver","G://chromedriver.exe");
wd= new ChromeDriver();
wd.get("http://money.rediff.com/gainers/bsc/daily/groupa?"); 
String max;
double m=0,r=0;
     //No. of Columns
List  col = wd.findElements(By.xpath(".//[@id='leftcontainer']/table/thead/tr/th"));
System.out.println("Total No of columns are : " +col.size());
 //No.of rows
        List  rows = wd.findElements(By.xpath (".//*[@id='leftcontainer']/table/tbody/tr/td[1]"));
        System.out.println("Total No of rows are : " + rows.size());
        for (int i =1;i<rows.size();i++)
        {    
            max= wd.findElement(By.xpath("html/body/div[1]/div[5]/table/tbody/tr[" + (i+1)+ "]/td[4]")).getText();
            NumberFormat f =NumberFormat.getNumberInstance(); 
            Number num = f.parse(max);
            max = num.toString();
            m = Double.parseDouble(max);
            if(m>r)
             {    
                r=m;
             }
        }
        System.out.println("Maximum current price is : "+ r);        
    }
    }
于 2018-02-20T08:05:51.990 回答