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(对于模拟器和设备)查看日志并调试脚本。
我正在解析一个网站并想读出该网站的一个特定 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(对于模拟器和设备)查看日志并调试脚本。