我试过这个示例程序,每次运行它时,它都会给出“列表中的零项”。我也尝试过睡眠,只是为了避免页面跑得太快以至于无法找到元素。
我在干什么?无法打印正确的列表(java.util)大小
driver.get("https://www.google.co.in/");
driver.findElement(By.id("gbqfq")).clear();
driver.findElement(By.id("gbqfq")).sendKeys("test");
List<WebElement> allElements = driver
.findElements(By
.xpath("html/body/div[2]/div[2]/div[1]/div/ul/li"));
Thread.sleep(3000);
System.out.println("there are "+allElements.size()+" items in this list");
PS:我是JAVA编程新手。
你是否认为它更可能是你的XPath失败比List.size()实现?此外,*创建列表后,睡觉*不太可能有帮助... – 2014-09-25 09:49:58
啊,它是一个错误的睡眠错误的地方,我认为xpath是正确的。 – paul 2014-09-25 09:51:50
将睡眠添加到非工作代码中并不会奇迹般地修复它。它只表现出经验不足。 – EJP 2014-09-25 10:05:31