Selenium-C#:SendKeys超时& JS Executor抛出错误

时间:2017-11-16 12:06:14

标签: javascript c# selenium selenium-webdriver

尝试将数据(安静的大)粘贴到" Textarea1"控件,下面是我尝试使用的两种方法,但是第一种方法尝试粘贴数据但有时会抛出超时错误,第二种方法抛出JS错误。请帮忙

public StringBuilder PasteDataIn_Tarea1
{
    set
    {
        //Method1
        Textarea1.Clear();
        Textarea1.SendKeys(value.ToString());

        //Method2
        IWebDriver driver; 
        IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

        StringBuilder javascript = new StringBuilder();
        javascript.Append(string.Format("$('#Textarea1').text('{0}')", value));//value has my data which is quiet big, "Textarea1" is where I need to paste my data
        js.ExecuteScript(javascript.ToString()); // Js exector which should paste my data            
    }
}

Method2抛出异常:

  

类型' System.InvalidOperationException'的例外情况发生在   WebDriver.dll但未在用户代码中处理

其他信息:JavaScript错误(UnexpectedJavaScriptError)

我更喜欢转到Method2,因为第一个需要时间将数据粘贴到textarea中。

1 个答案:

答案 0 :(得分:0)

尝试重置浏览器超时:

 ChromeOptions options = new ChromeOptions();
 options.AddArgument("--disable-extensions");
 ChromeDriverService svc = ChromeDriverService.CreateDefaultService();
 IWebDriver driver = new ChromeDriver(svc, options,TimeSpan.FromMinutes(5));

上面的示例将命令超时时间设置为5分钟。我遇到了类似的问题,这对我有用。