[英]FindallElements using className does not work but using the same code with xpath works
为了练习,我正在编写代码,并且遇到了一个非常奇怪的问题。 我正在尝试使用className查找所有元素的列表。 当我检查列表大小时,它返回了0,但与xpath一起使用时却是同一个类。 我的代码如下
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("http://www.localbanya.com/home/search?searchKeyword=dove");
driver.findElement(By.xpath("//*[@class='ms-choice']")).click();
Thread.sleep(2000);
driver.findElement(By.xpath("//*[@class='ms-drop bottom']//li[4]/label")).click();
driver.findElement(By.cssSelector(".proceed-button.button")).click();
Thread.sleep(1000);
List<WebElement> prList = driver.findElements(By.xpath("//*[@class='prName']"));
// This particular code does not work but same class name used above works
//----Interesting not working
//List<WebElement> prList = driver.findElements(By.className(".prName"));
System.out.println(prList.size());
for (WebElement web : prList)
{
System.out.println(web.getText());
}
//driver.close();
}
List<WebElement> prList = driver.findElements(By.className("prName"));
它将起作用,无需使用.
当您使用By.className
。 .
使用css选择器时需要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.