java弹出等待图片_如何在SeleJava中等待,直到网页上的所有图片被正确加载

您可以使用

document.images

. 您可以使用

document.images.length

.

要检查这些图像是否正确加载,可以应用

complete

像这样的每个图像的属性

document.images[0].complete

如果图像加载为false,则返回true。

1411d6e2a20b965cdc6e31f9aa557a71.png

下面是检查

DOM

是否先加载,然后如果加载了dom,它将等待所有图像加载到该页中。

// Launching the browser

driver.get("http://www.google.com");

// Declaring and Casting driver to JavaScriptExecutor

JavascriptExecutor jse = (JavascriptExecutor) driver;

// Getting DOM status

Object result = jse.executeScript("return document.readyState;");

System.out.println("=> The status is : "+result.toString());

// Checking DOM loading is completed or not?

if(result.equals("complete")) {

// Fetching images count

result = jse.executeScript("return document.images.length");

int imagesCount = Integer.parseInt(result.toString());

boolean allLoaded = false;

// Checking and waiting until all the images are getting loaded

while(!allLoaded) {

int count = 0;

for(int i=0;i

result = jse.executeScript("return document.images["+i+"].complete;");

boolean loaded = (Boolean) result;

if(loaded) count++;

}

// Breaking the while loop if all the images loading completes

if(count == imagesCount) {

System.out.println("=> All the Images are loaded...");

break;

} else {

System.out.println("=> Not yet loaded...");

}

Thread.sleep(1000);

}

}

但是在使用上面的代码时要小心,因为如果根本不加载元素,它有时可能会进入无限状态。

要检查是否加载了特定元素,可以执行以下操作:

// To check a particular element is loaded or not?

WebElement googleLogo = driver.findElement(By.id("hplogo"));

boolean loaded = (Boolean) jse.executeScript("return arguments[0].complete;", googleLogo);

System.out.println("The google logo is loaded ? "+loaded);

要等待加载特定图像,可以执行以下操作:

// To check a particular element is loaded or not?

WebElement googleLogo = driver.findElement(By.id("hplogo"));

while(!(Boolean) jse.executeScript("return arguments[0].complete;", googleLogo)) {

System.out.println("=> The google logo is not yet loaded...");

Thread.sleep(1000);

}

System.out.println("The google logo is loaded... ");

要了解更多关于javascript命令和javascriptexecutor的信息,请签出并订阅

this channel

我希望它能帮助…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值