前提・実現したいこと
SwiftでWKWebViewを用いたWebViewアプリを作っています。
読み込んだwebページのソースをコンソールに表示させようと思い、javascriptを用いて表示させる試みをしました。
しかしながら、どうも意図した通りにソースが表示されません。
お力添えいただければ幸いです。
発生している問題・エラーメッセージ
コンソールには以下のように表示されています。
headやbodyの中身まで一語一句抜けのないソースを求めています。
Optional(<head></head><body></body>)
該当のソースコード
Swift
1 2import UIKit 3import WebKit 4 5class ViewController: UIViewController, WKUIDelegate 6{ 7 8 var webView: WKWebView! 9 10 override func loadView() 11 { 12 let webConfiguration = WKWebViewConfiguration() 13 webView = WKWebView(frame: .zero, configuration: webConfiguration) 14 webView.uiDelegate = self 15 view = webView 16 17 } 18 19 override func viewDidLoad() 20 { 21 super.viewDidLoad() 22 23 let myURL = URL(string: "https://www.apple.com/jp/") 24 let myRequest = URLRequest(url: myURL!) 25 webView.load(myRequest) 26 27 //ソースを表示 28 webView.evaluateJavaScript("document.documentElement.innerHTML", 29 completionHandler: { (html: Any?, error: Error?) in 30 print(html)}) 31 } 32 33 34 35} 36
試したこと
(1)読み込んだwebページが複雑である可能性を考え、徐々に簡易なwebページへ変えていき、最終的にはテキストのみのページを読み込みましたが、変化はありませんでした。
(2)macのsafariで同じjavascriptを用いたところ、意図した通りのソースを表示してくれたので、コンソールに表示できる文字数に制限がある可能性を考えましたが、そのような情報は見つかりませんでした。
補足情報(FW/ツールのバージョンなど)
Xcode Version 10.1
<Deployment info>
Deployment Target:12.1
Devices:Universal
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/18 09:30
2019/01/18 09:34
2019/01/19 15:09