私はコーディングに比較的慣れておらず、swiftの使用に非常に慣れていません。ユーザーが設定でユーザー名とパスワードを設定し、その情報を設定したWKWebViewのログインページに事前に入力できるようなものを作成しようとしています。現在、テキストフィールドに情報を送信するための迅速なコードの取得をテストしようとしています。
数年前の1つか2つのスタック投稿以外には多くの情報を見つけることができませんでしたが、それらは私にとってはうまくいかなかったようです。
私が読んだことによると、領域を埋めるために実行するJavascriptを取得する必要がありますが、私が行っていることは何も機能していないようです。使用しているテストコードをすばやく投稿します。誰かが私が間違っていることを教えてくれるか、私が何か明らかなことを見逃しているだけなら、それは大いにありがたいです。
import UIKit
import WebKit
class ViewController: UIViewController {
@IBOutlet weak var WebView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL (string: "https://www.google.com")
let request = URLRequest(url: url!)
WebView.load(request)
}
func webViewDidFinishLoad(webView: WKWebView!) {
webView.evaluateJavaScript("document.getElementById('q').value = 'Hello' ;")
}
}
このように使用できることをお勧めします、
// let source = "document.body.style.background = \"#777\";"
let source = "document.getElementById('q').value = 'Hello' ;"
let userScript = WKUserScript(source: source, injectionTime: .atDocumentEnd, forMainFrameOnly: true)
let userContentController = WKUserContentController()
userContentController.addUserScript(userScript)
let configuration = WKWebViewConfiguration()
configuration.userContentController = userContentController
webView = WKWebView(frame: self.view.bounds, configuration: configuration)
view.addSubview(webView)
let url = URL (string: "https://www.google.com")
let request = URLRequest(url: url!)
webView.load(request)
Appleが言ったように、WKUserContentControllerオブジェクトは、JavaScriptがメッセージを投稿し、ユーザースクリプトをWebビューに挿入する方法を提供します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加