【问题标题】:Selenium + C#: ExecuteAsyncScript not workingSelenium + C#:ExecuteAsyncScript 不起作用
【发布时间】:2016-04-29 13:38:21
【问题描述】:

我正在尝试通过 Selenium 驱动程序运行 javascript。 executeAsyncScript 参数给出输入字符串格式不正确的异常。 javascript 在提供的路径中。 javascript函数实际上是一个onclick,它不带任何参数,而是返回一个我想得到的值以供进一步计算。

 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"
                         + ");});"
                     );

【问题讨论】:

  • 回调前的逗号是干什么用的?不应该说 onPrint(callback) 吗?我想你可能对所有的串联感到困惑。
  • 这看起来不像是有效的 JS。

标签: javascript c# selenium


【解决方案1】:

我认为您的 javascript 语法不正确。如果你省略引号,你会得到:

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

参见onPrint 之后和callback 之前的,

【讨论】:

    猜你喜欢
    • 2018-06-03
    • 1970-01-01
    • 2011-12-09
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    相关资源
    最近更新 更多