2016-01-22 149 views
3

我试图通过Selenium驱动程序运行JavaScript。 executeAsyncScript参数给出了输入字符串格式不正确的异常。 javascript位于提供的路径中。 javascript函数实际上是一个onclick,它不接受任何参数,但返回一个我想要进一步计算的值。Selenium + C#:ExecuteAsyncScript不工作

Driver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(5)); 
      var js = Driver as IJavaScriptExecutor; 
    var formobject = js.ExecuteAsyncScript(
          "var callback = arguments[0];" 
         + "var params = arguments;" 
         + "require(['Recruiting/Modules/CandidateProfile'],function(onPrint){" 
         + "onPrint(" 
         + ",callback" 
         + ");});" 
        ); 
+0

“callback”之前的逗号是什么?不应该说onPrint(回调)?我想你可能会把所有的连接混淆在一起。 – Martin

+0

这看起来不像有效的JS。 – Stijn

回答

5

我觉得你的JavaScript是syntacticly不正确。如果你想省略了引号,你会得到:

var callback = arguments[0]; 
var params = arguments; 
require(['Recruiting/Modules/CandidateProfile'],function(onPrint){ 
onPrint(
,callback 
);}); 

,onPrint之后和之前callback