4

我有一个可点击的图像,它在 FireFox 中不可见。我的意思是,没有图像,但是有一个元素(并且它是可点击的)。FindElement(by).Displayed返回 true 但仍然没有图像。问题是我如何检查,这张图片是否可见?

另外,我在 html 标头中发现了一个错误(原因,为什么图像不可见),也许有一种方法可以使用 html 标头检查图像是否存在?

public bool IsFileIconDisplayed()
        {
            return IsElementDisplayed(By.XPath("//*[@class='SomeClass']/img"));

        }

protected bool IsElementDisplayed(By by)
        {
            return FindElement(by).Displayed;
        }
4

2 回答 2

4

图像是否具有将其宽度和高度设置为预设值的样式?

如果没有,您可以在 Javascript 中查询图像元素的客户端宽度和高度属性。

document.getElementById(<webElement>).getClientRects()[0].width
document.getElementById(<webElement>).getClientRects()[0].height

要不就

document.getElementById(<webElement>).naturalWidth

使用 JavascriptExecutor,您应该能够将这些值绘制到您的 Java/C# 代码中,并根据图像的宽度/高度得出加载/未加载的图像。

于 2012-07-24T10:15:30.493 回答
0

该线程包含有关如何检查图像可见性的有价值信息(最关注 Dave Hunt 提供的答案)

如何使用 Selenium WebDriver 检查 404 的 URL?

于 2012-07-24T16:00:13.850 回答