gpt4 book ai didi

html - 如何使用 swift 在 WKWebView 中预填充网站上的文本框

转载 作者:行者123 更新时间:2023-11-30 10:44:05 25 4
gpt4 key购买 nike

我对编码比较陌生,对使用 swift 也非常陌生。我正在尝试创建一些东西,让我的用户可以在设置中设置用户名和密码,并让该信息预先填充我设置的 WKWebView 的登录页面。目前,我只是尝试测试获取快速代码以将信息发送到文本字段。

除了几年前的一两个堆栈帖子之外,我找不到太多关于此的信息,但它们似乎对我不起作用。

根据我读到的内容,我需要执行一些 JavaScript 来填充这些区域,但我所做的一切似乎都不起作用。我将发布我在 swift 中使用的一小部分测试代码。如果有人能告诉我我做错了什么或者我只是错过了一些明显的事情,我将不胜感激。

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)

as Apple said , WKUserContentController 对象为 JavaScript 提供了一种发布消息并将用户脚本注入(inject) Web View 的方法。

关于html - 如何使用 swift 在 WKWebView 中预填充网站上的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56174294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com