Я начинающий программист Swift 3.x и пытаюсь преобразовать программу AppleScript в Swift, которая собирает данные с веб-сайта с помощью WebKit в Cocoa (рабочий стол iMac). Функция VCgetInputByTag ищет html-тег (theTag) и должна возвращать текст для этого тега. Когда я пытаюсь использовать эту функцию, print("text= (response)") отображает нужные мне данные, но я не могу заставить функцию VCgetInputByTag вернуть эту строку. Пожалуйста, порекомендуйте.
func VCgetInputByTag(theTag: String, num: Int) -> String {
var webTagText : String
webTagText = ""
webView.evaluateJavaScript("document.getElementsByTagName('\(theTag)')[\(num)].innerHTML;") {(response:Any?, error:Error?) in
if (response != nil) {
webTagText = response as! String
webTagText = "\(response)"
print("text= \(response)")
}
// error handling
}
print(webTagText)
return webTagText
}
Версия AppleScript, которую я использую и работает,
to getInputByTag(theTag, num) -- определяет функцию с двумя входными данными, theTag и num
tell application "Safari" --tells AS that we are going to use Safari
set input to do JavaScript "document.getElementsByTagName('" & theTag & "')[" & num & "].innerHTML;" in document 1
end tell
return input
конец getInputByTag
Всем заранее спасибо за помощь.