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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 虽然你们是扮演路人甲乙丙丁,但是一样是有生命,有灵魂的。”——《喜剧之王》 前言 在开发原生Android应用过程...
    尹天酬阅读 3,861评论 0 6
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,588评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,222评论 4 8
  • 步骤:发微博01-导航栏内容 -> 发微博02-自定义TextView -> 发微博03-完善TextView和...
    dibadalu阅读 3,167评论 1 3