У меня есть UIViewController, у которого есть WKWebView, который загружает конкретное представление с помощью кнопки, которую нужно нажимать автоматически.Чтобы решить эту проблему, я использовал функцию протокола WKNavigationDelegate didFinish
и метод WKWebView evaluateJavaScript
.Вот моя реализация
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript("document.getElementsByClassName('myButtonClass')[0].click()") { (result, error) in
print("ERROR: \(error)")
print("RESULT: \(result)")
}
}
Так что, как только страница загружена, я пытаюсь нажать определенную кнопку на экране (имейте в виду, есть только одна кнопка с этим именем класса в этом конкретном просмотре страницы).Когда этот код выполняется, распечатываются и result
, и error
, и оба они nil
.Тем не менее, кнопка не нажата, и WKWebView никогда не перенаправляет на ссылку, на которую ссылается кнопка.
Как это возможно, что нет error
, но ничего не происходит?
Я пропустил какую-то настройку навигации или что-то в этом роде?