首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Watin.Core.Comparer StringComparer类的错误

Watin.Core.Comparer StringComparer类的错误
EN

Stack Overflow用户
提问于 2015-10-22 05:31:50
回答 1查看 85关注 0票数 0

我在我的程序中使用Watin系统。

我得到以下错误:

ArgumentNullException at Watin.Core.Comparer StringComparer(string comparisonValue,bool ignoreCase) 错误:值不能为空(ComparisonValue)

但是我不知道谁和何时调用了字符串比较器,我也不知道如何调试它。

这是我的一些代码。

代码语言:javascript
复制
using (IE browser = new IE(url))  
            {  
                Trace.TraceInformation("success to create IE instance.");

                int waitSecond = TimeSpan.FromSeconds(30).Seconds;
                browser.WaitForComplete(waitSecond);
                .........
                .........
            }
       )

添加一些ErrorTrace

代码语言:javascript
复制
at WatiN.Core.Comparers.StringComparer..ctor(String comparisonValue, Boolean ignoreCase)
at WitiN.core.DialogHandlers.DialogWatcher.HasDialogSameProcessNameAsBrowserWindow(Window window)
at WatiN.Core.DialogHandlers.DialogWatcher.HandleWindow(Window window)
at WatiN.Core.DialogHandlers.DialogWatcher.Start()
at System.Threading.ThreadHelper.ThreadStart_Context(ojbect state)
at System.Threading.ExecutionContext.Runinternal(exceutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutinoContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutinoContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
EN

回答 1

Stack Overflow用户

发布于 2015-10-26 18:29:46

此代码按预期工作(不引发异常):

代码语言:javascript
复制
        using (IE browser = new IE("http://www.google.com"))
        {
            //Trace.TraceInformation("success to create IE instance.");

            int waitSecond = TimeSpan.FromSeconds(30).Seconds;
            browser.WaitForComplete(waitSecond);
        }

确保您正在为WatiN使用最新的源代码,并且在那个时候没有任何其他代码正在执行(对于DialogWatcher,您得到的异常与您发布的代码无关)。

不知道为什么要这样使用.WaitForComplete方法,但默认情况下,对于每个与网页交互的方法,都会在内部调用该方法。如果要指定加载网页的通用等待时间,则应使用以下WatiN对象的设置:

代码语言:javascript
复制
        Settings.WaitForCompleteTimeOut = 30;
        using (IE browser = new IE("http://www.google.com"))
        {
            //Trace.TraceInformation("success to create IE instance.");
            browser.WaitForComplete();
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33273973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档