package com.codeborne.selenide.commands; import com.codeborne.selenide.Command; import com.codeborne.selenide.SelenideElement; import com.codeborne.selenide.impl.WebElementSource; import org.openqa.selenium.WebElement; import static com.codeborne.selenide.Selenide.executeJavaScript; public class IsImage implements Command<Boolean> { @Override public Boolean execute(SelenideElement proxy, WebElementSource locator, Object[] args) { WebElement img = locator.getWebElement(); if (!"img".equalsIgnoreCase(img.getTagName())) { throw new IllegalArgumentException("Method isImage() is only applicable for img elements"); } return executeJavaScript("return arguments[0].complete && " + "typeof arguments[0].naturalWidth != 'undefined' && " + "arguments[0].naturalWidth > 0", img); } }