我正在解析一个网站,想要读出该网站的一个特定HTML部分。我正在寻找一个(和一个)<frame>
标签:
<frame scrolling="auto" ... src=”I need this text">
所以我基本上只需要src =&#34;&#34;中的文字。但是我怎么能这么简单呢?到目前为止,我试图通过以下方式分析字符串:
NSString *html = [self.webview stringByEvaluatingJavaScriptFromString: @"document.body.innerHTML"];
但是html保持空白,我不知道如何继续。那么如何使用我的webview尽可能简化这个呢?
答案 0 :(得分:1)
这样的事可能有用:
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查看日志并调试脚本(适用于模拟器和设备)。