【发布时间】:2017-10-04 23:40:48
【问题描述】:
tell application "Safari"
set theVar to (do JavaScript "
var a =
document.getElementById('unitsdiv').getElementsByClassName('even');
var b = []
for (var i = 0; i < a.length; i++) {
b[i] = a[i].textContent;
};
console.log(b.length); \\ Returns 2
console.log(b[1]); \\ Returns item 2 of Array
console.log(b[0]); \\ Returns item 1 of Array
b; \\ Shows both items in Safari Console
") in document 1
end tell
log theVar -- Missing Value
代码在 Safari 控制台中按预期工作。我还尝试在使用 set theVar to {} 运行 do Javascript 命令之前初始化列表,但无济于事。任何帮助,将不胜感激。
这似乎返回值之一
tell application "Safari"
tell document 1
set theVar to (do JavaScript "
var a = document.getElementById('unitsdiv').getElementsByClassName('even');
var b = [];
for (var i = 0; i < a.length; i++)
{ b[i] = a[i].textContent; };
console.log(b.length);
console.log(b[1]);
console.log(b[0]);
b[0];")
end tell
end tell
log theVar
如果我尝试在 javascript 代码末尾将数组选择器 [0] 从 b 中取出,然后告诉 AppleScript 到 log theVar,它会引发一个错误,即 theVar 未定义。
【问题讨论】: