Я пытался использовать WKWebView
для заполнения веб-формы и отправки. До сих пор я был в состоянии сделать это. Проблема заключается в том, что WebView
форма l oop бесконечно от "вставить элемент", пытаясь отправить "на" отправлено ", как только я использовал следующий код.
let submitFunction = document.forms[0].submit();
Кто-нибудь знает, что происходит? Как можно переписать этот код?
Большое спасибо!
import UIKit
import WebKit
class AnswerVC: UIViewController {
@IBOutlet weak var webView: WKWebView!
var questionText = "1+1"
override func viewDidLoad() {
super.viewDidLoad()
webView.navigationDelegate = self
}
override func viewWillAppear(_ animated: Bool) {
let url:URL = URL(string: "https://gamma.sympy.org/")!
let urlRequest:URLRequest = URLRequest(url: url)
webView.load(urlRequest)
}
}
extension AnswerVC: WKNavigationDelegate {
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
print("insert element")
let scriptFunction = "document.getElementById('id_i').value = '\(questionText)';"
webView.evaluateJavaScript(scriptFunction) { (result, error) in
if error != nil {
ProgressHUD.showError(error as? String)
} else {
print("trying to submit")
let submitFunction = "document.forms[0].submit();"
webView.evaluateJavaScript(submitFunction) { (result, error) in
if error != nil {
print(error?.localizedDescription)
} else {
print("submited")
}
}
}
}
}
}