0

在我的测试中,我有一段由 browser.executeScript 执行的代码,但它有一些我无法修复的错误

这是 browser.executeScript 代码:

browser.executeScript('var allcookies = document.cookie;
cookiearray = allcookies.split(";");
for (var i = 0; i < cookiearray.length; i++)
{
    name = cookiearray[i].split("=")[0];
    value = cookiearray[i].split("=")[1];
    console.log("Key is : " + name + " and Value is : " + value);
}
sidValue = value;
console.log(value);
console.log(sidValue);
receiptNumber = $scope.row.nr;
window.location.href("https://www.mysite.nl/info?sid=" + sidValue + "&filter={nr:" + receiptNumber + "}");');

我有两个问题:

  1. $scope.row.nr ,它说 $scope 没有定义
  2. 在我的 window.location.href 上,它说对象 [对象位置] 的属性“href”不是一个函数(当我删除 href 时,它只对位置说同样的话)。

有谁知道如何解决这个问题?

4

1 回答 1

3

executeScript$scope在未由 angular 定义的全局上下文中运行。如果您进入您的 Web 控制台并输入$scope,您可以复制它。

您需要像这样查询元素范围属性 angular.element( document.querySelectorAll('.your-element')[0] ).scope()

然后看起来@Basman01 为您的第二个问题提供了答案。

于 2014-04-30T22:05:21.443 回答