У меня есть пользователи, которые заходят на веб-сайт, используя WKWebView
, после чего я хочу проанализировать HTML
страницы. Я очень плохо знаком с Swift
/ iOS Development
(просто изучаю вещи по мере продвижения). Я знаю id
тега HTML, который я пытаюсь получить innerHTML
из (идентификатор «dataGrid»), и хотел бы сохранить строку в переменной с именем htmlString
. У меня есть следующий код:
var htmlString = "initial value"
webView.evaluateJavaScript("document.getElementById('dataGrid').innerHTML.toString()",
completionHandler: { (html: Any?, error: Error?) in htmlString = html as! String})
print(htmlString)
Очевидно, это не работает - последний оператор print
просто печатает "начальное значение". Просто чтобы вы знали, я основываю свой код на методе, описанном в другом посте StackOverflow ( Получить HTML из WKWebview в Swift ). В одном из них обработчик завершения имеет оператор print, который фактически работает при печати HTML
. Тем не менее, я не совсем понимаю обработчики завершения, что имеет смысл, учитывая, что у меня еще не было большого опыта работы с Swift
, но это также означает, что я не знаю, как адаптировать код в этом посте для своих собственных целей , Я был бы очень признателен, если бы кто-то мог направить меня в правильном направлении, чтобы я мог сохранить HTML
страницы как string
в переменной, которую я смогу изменить позже. Спасибо!