0

selenium-webdriver (Java) では、


たとえば、GWT要素を取得できます。WebElement obj = driver.findElement(By.id("gwt-debug-celltable"));

セルテーブルの Web 要素をobj取得できますが、実際のセルテーブルは取得できません。したがって、Selenium-Webdriver を使用して celltable 内のレコード数を確認したい場合。私は何をする必要がありますか?

出来ますか?はいの場合は、できるだけ早く回答してください。

4

2 に答える 2

1

はい。どういうわけか、xpathを使用してそれを行うことができます:

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

In 要素は行のリストになります。このコードはテストしていません。しかし、私たちのプロジェクトで使用しているものを気に入っています。

于 2012-08-29T18:14:07.420 に答える
0

Web テーブルについては、以下のリンク http://money.rediff.com/gainers/bsc/daily/groupa を以下のコードから参照しました。Web テーブルからすべての値を取得できます。

    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 に答える