まず、Webページを表示させるためにはWKWebViewを使うとのことだったので
以下のソースにてWebページを表示させました。
import WebKit class ViewController: UIViewController, WKUIDelegate { var webView: WKWebView! override func loadView() { let webConfiguration = WKWebViewConfiguration() webView = WKWebView(frame: .zero, configuration: webConfiguration) webView.uiDelegate = self view = webView } override func viewDidLoad() { super.viewDidLoad() let myURL = URL(string: "https://transit.yahoo.co.jp") let myRequest = URLRequest(url: myURL!) webView.load(myRequest) } }
この画面が表示されたタイミングで「出発」の入力欄に値を入力をしたかったので、evaluateJavaScriptを
用いてJavaScriptを実行しようと考えましたが、実行後も入力欄は空のままでした。
// // ViewController.swift // WebView // //import UIKit import WebKit class ViewController: UIViewController, WKUIDelegate { var webView: WKWebView! override func loadView() { let webConfiguration = WKWebViewConfiguration() webView = WKWebView(frame: .zero, configuration: webConfiguration) webView.uiDelegate = self view = webView } override func viewDidLoad() { super.viewDidLoad() let myURL = URL(string: "https://transit.yahoo.co.jp") let myRequest = URLRequest(url: myURL!) webView.load(myRequest) //nameを指定する方法もelementsで指定する方法も動作せず //webView.evaluateJavaScript("document.search.from.value=\"Hello!\"", completionHandler: nil) webView.evaluateJavaScript("document.search.elements[0].value=\"Hello!\"", completionHandler: nil) } }
ご助言いただければ幸いです。
回答2件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2019/02/18 11:17