selenim java判断图片有没有加载完成

Selenium WebDriver默认仅检查DOM中是否存在image标签,但无法判断图片是否真正可见或加载失败。为检测图片是否可见,可以利用JavaScript的naturalWidth属性,如果其值大于0,则表明图片已加载。解决方案参考了sqa.stackexchange和watirmelon的相关讨论。
摘要由CSDN通过智能技术生成

WebDriver只会检查DOM中是否有image 标记,而不能检查这个图片是否不可见或者坏掉。

检查图片是否可见,可通过检查javascript属性naturalWidth是否大于0

	
@Test
public void Test1() throws Exception{
...
			WebElement image=driver.findElement(By.cssSelector("div.img-wrapper>img"));
			boolean isVisible=this.IsImageVisible(driver, image);
			if(isVisible){
				driver.findElement(By.cssSelector("span.img-next > span.img-switch-btn")).click();
				driver.switchTo().defaultContent();
				System.out.println("----navigate to the next img");
			}
...
}

public boolean IsImageVisible(WebDriver driver,WebElement image){
		Boolean imageLoaded1 = (Boolean) ((JavascriptExecutor)driver).executeScript("return arguments[0].complete && typeof arguments[0].naturalWidth != \"undefined\" && arguments[0].naturalWidth > 0", image); 
		if (!imageLoaded1) 
		{ 
			MyLog
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值