java selenium爬取验证图片是否加载完成

Posted 断剑重铸之时

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java selenium爬取验证图片是否加载完成相关的知识,希望对你有一定的参考价值。

爬虫任务里发现有部分图片没有加载完成就进行文件流上传,导致有一些图片是空白,需要判断一下:

首选获取image标签元素:

WebElement image = driver.findElement(By.cssSelector("div#media_container > img"));
boolean isVisible = this.IsImageVisible(driver, image);

然后判断:

private 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)
{
return false;
}
return true;
}

complete 属性判断有没有加载完成,naturalWidth 判断该图片是否存在









以上是关于java selenium爬取验证图片是否加载完成的主要内容,如果未能解决你的问题,请参考以下文章

selenium+chrome浏览器驱动-爬取百度图片

java selenium (十三) 智能等待页面加载完成

python爬虫:使用Selenium模拟浏览器行为

python3爬虫爬取煎蛋网妹纸图片

java selenium (十三) 智能等待页面加载完成

Python+Selenium动态网页的信息爬取