有些网页包含大量frame,有的还有嵌套,以下函数查找哪个frame包含特定元素,只返回第一个找到的元素的表达式。
function findElementFromFrames(win, selector, fs) {
try {
var icon = win.document.querySelector(selector);
} catch (e) {};
if (icon) return fs.slice(0, -1) + ".document.querySelector('" + selector + "')";
for (var i = 0; i < win.frames.length; i++) {
var r = find(win.frames[i], selector, "frames[" + i + "].");
if (r) return fs + r;
}
};
find(window, ".myClass", "")