在脚本“未捕获的SyntaxError:意外的令牌”中获取错误

时间:2018-10-29 13:13:12

标签: javascript cefsharp

在方法EvaluateScriptAsync(脚本)中使用CefSharp时      脚本如下

 script = @"(function(){var linksArray = new Array();
        for (var i = 0; i < document.querySelectorAll('.g').length; i++)
            {
var elementWithClassRC = document.querySelectorAll('.g')[i].querySelectorAll('.rc');
 var rElement = elementWithClassRC[0].getElementsByClassName('r');
 var sElement= elementWithClassRC[0].getElementsByClassName('s');
 var hrefValue = rElement[0].querySelector('a').getAttribute('href');
 var h3Value = rElement[0].querySelector('a').querySelector('h3').innerHTML;
 var spanValue = sElement[0].querySelector('span').innerText;
 linksArray[i] = [hrefValue,h3Value,spanValue];
 return linksArray;})();";

在评估结果中,我正在获取javaScriptResponse.Result,因为此错误是““ Uncaught SyntaxError:意外令牌)\ n @ about:blank:13:22”“。     请帮助我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您在for循环中缺少'}'。

script = @"(
       function(){
          var linksArray = new Array();
          for (var i = 0; i < document.querySelectorAll('.g').length; i++) {
             var elementWithClassRC = document.querySelectorAll('.g')[i].querySelectorAll('.rc');
             var rElement = elementWithClassRC[0].getElementsByClassName('r');
             var sElement= elementWithClassRC[0].getElementsByClassName('s');
             var hrefValue = rElement[0].querySelector('a').getAttribute('href');
             var h3Value = rElement[0].querySelector('a').querySelector('h3').innerHTML;
             var spanValue = sElement[0].querySelector('span').innerText;
             linksArray[i] = [hrefValue,h3Value,spanValue];
          // for loop is not end here
          return linksArray;
  })();";