在 selenium-webdriver (Java) 中,
例如,我们可以获得 GWT 元素
。WebElement obj = driver.findElement(By.id("gwt-debug-celltable"));
通过obj
我们可以获得celltable的webelement,但我们不会得到实际的celltable。因此,如果想使用 Selenium-Webdriver 检查 celltable 中的记录数。我需要做什么?
可能吗?如果是,请尽快回答。
在 selenium-webdriver (Java) 中,
例如,我们可以获得 GWT 元素
。WebElement obj = driver.findElement(By.id("gwt-debug-celltable"));
通过obj
我们可以获得celltable的webelement,但我们不会得到实际的celltable。因此,如果想使用 Selenium-Webdriver 检查 celltable 中的记录数。我需要做什么?
可能吗?如果是,请尽快回答。
是的。您可以使用 xpath 以某种方式做到这一点:
List<WebElement> elements =
driver.findElements(By.xpath("//table[@id='gwt-debug-celltable']/tbody/tr"));
在元素中将是行列表。我没有测试过这段代码。但它喜欢我们在项目中使用的那个。
对于 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);
}
}