我正在尝试使用Selenium验证网页中加载的图片。下面是我用于相同的行。 ' ImagePresent'总是回归“假”。即使它能够从最后一行捕获并打印图像的属性值。
WebElement Imglogo = driver.findElement(By
.xpath("//img[@src='Images/Logo.png']"));
Boolean ImagePresent = (Boolean) ((JavascriptExecutor) driver)
.executeScript(
"return arguments[0].complete && typeof arguments[0].naturalWidth != \"undefined\" && arguments[0].naturalWidth > 0",
Imglogo);
System.out.println("The boolean value of ImagePresent: "+ImagePresent); //returns false
System.out.println("Image Attribute: "+Imglogo.getAttribute("src")); //prints the full path
答案 0 :(得分:0)
我认为你在这里试图过于花哨。在这种情况下,你真的不需要JSE。您可以使用.getAtribute("naturalWidth")
并比较预期回报。
WebElement Imglogo = driver.findElement(By.xpath("//img[@src='Images/Logo.png']"));
System.out.println(Imglogo.getAttribute("naturalWidth"));
System.out.println(Imglogo.getAttribute("naturalWidth").equals("0"));
......等等。