iOS: 如何在 HTML 页面中找到一个特定的标签

iOS: How can I find one specific tag in a HTML page

我正在解析一个网站并想读出该网站的一个特定 HTML 部分。我正在寻找一个(而且只有一个)<frame> 标签:

<frame scrolling="auto" ... src=”I need this text">

所以我基本上只需要 src="" 中的文本。但是我怎样才能尽可能简单地做到这一点呢?到目前为止,我尝试通过以下方式分析字符串:

NSString  *html = [self.webview stringByEvaluatingJavaScriptFromString: @"document.body.innerHTML"];

但是 html 仍然是空的,我不知道如何继续。那么如何使用我的 webview 使它尽可能简单?

类似这样的方法可能有效:

document.addEventListener("DOMContentLoaded", function() {
    var allFrames = document.querySelectorAll("frame");
    if (allFrames.length) {
        var src = allFrames[0].src;
        console.log(src);

        var request = new XMLHttpRequest();
        request.open("GET", "my-app://localhost/?src=" + encodeURIComponent(src));
        request.send(null);

    } else {
        console.log("no frames on the page " + location.href);  
    }
});

运行 此代码使用 webViewDidFinishLoad 回调中的 stringByEvaluatingJavaScriptFromString,并使用 shouldStartLoadWithRequest 回调处理脚本的输出数据。

您使用 Safari Web Inspector(对于模拟器和设备)查看日志并调试脚本。