Swift5 自动给webView中的某个控件赋值

比如用webView加载百度网页,网页加载完成的时候,自动给百度搜索框赋值内容,其他应用场景,如加载的网页需要输入用户名和密码登录,频繁输入比较麻烦,可以在网页打开的时候,自动填充账号和密码。
我用的是WKWebView创建的网页,创建webView大概步骤:

import WebKit
//懒加载
private lazy var webView = WKWebView()
//加载百度网页
webView.load(URLRequest.init(url: URL.init(string: "http://www.baidu.com")!))

js代码注入的时机可以放在webview创建以后,也可以用一个按钮的点击事件控制注入时机,看自己实际需求

//js代码
//打开浏览器的检查器,找到搜索框对应的input标签的id,通过id找到标签
// ‘index-kw’就是手机网页版百度的搜索框的id
let jsStr = "document.getElementById('index-kw').value = '替换内容';"
///让 webView 执行 js 代码
let config = webView.configuration
let script = WKUserScript.init(source: jsStr, injectionTime: .atDocumentEnd, forMainFrameOnly: true)
config.userContentController.addUserScript(script)
/// 网页重新加载刷新,一定记得要刷新网页!!!!
 webView.reload()

你可能感兴趣的:(Swift5 自动给webView中的某个控件赋值)