在方法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”“。 请帮助我解决这个问题。
答案 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;
})();";