【问题标题】:How to Determine if Image is Loaded with WatiN如何确定图像是否加载了 WatiN
【发布时间】:2013-06-04 03:51:34
【问题描述】:

我正在使用 WatiN,我需要确定是否已加载图像。就我而言,我在页面上看到了红色 X,但是当我使用...

 var image = WebBrowser.Current.Image(imageName);
 if (!image.Exists)
   {
     Assert.Fail(string.Format("Could not find '{0}' image on the page", imageName));
   }

...断言不会失败,因为图像的名称确实存在于页面上。但它没有加载。

有没有办法使用 WatiN 来评估 JQuery 或在我得到红色 X 时告诉我的东西?我已经尝试了 WebBrowser.Current.Image 的所有方法和属性,但无济于事。

【问题讨论】:

    标签: image watin loaded


    【解决方案1】:

    如果我理解正确,您正在尝试按名称属性查找图像。 如果 name 属性是“image_name_attr”(你可以通过 firebug 验证)使用这个:

     WebBrowser.Current.Image(Find.ByName("image_name_attr")); //constraint
    

    如果图片上有类名可以使用:

     WebBrowser.Current.Image(Find.ByClass("image_class_attr"));
    

    【讨论】:

    • 我希望得到不同的答案。我正在尝试按名称查找图像并查看它是否已加载。仅仅找到名称是不够的,因为无论图像是否已加载,名称都存在于 DOM 中。开发组改了路径名,路径不对,页面只显示一个红色的X。
    【解决方案2】:

    断言没有失败,因为 WatiN 正在做它应该做的事;它正在检查图像 html 元素是否存在。您需要检查的是该文件是否存在于服务器上。

    看看这个 SO question/answer - 我过去曾使用过这种方法,并且效果很好。 Test to see if an image exists in C#

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-18
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 2019-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多