Нужна помощь в получении нового HTML-кода после того, как javascript отправил логин (Swift w/ SwiftSoup)
Поэтому у меня возникают проблемы при извлечении данных с веб-сайта, на который необходимо войти. Вот мой код:
func logIn() {
webView.evaluateJavaScript("document.getElementById('portalAccountUsername').value='\(username.text!)'", completionHandler: nil)
webView.evaluateJavaScript("document.getElementById('next').click()", completionHandler: nil)
webView.evaluateJavaScript("document.getElementById('portalAccountPassword').value='\(password.text!)'", completionHandler: nil)
webView.evaluateJavaScript("document.getElementById('LoginButton').click()", completionHandler: nil)
webView.evaluateJavaScript("document.getElementsByTagName('html')[0].innerHTML", completionHandler: { (innerHTML, error) in
do {
let html = innerHTML as? String
let doc = try SwiftSoup.parse(html!)
print(doc)
} catch {}
})
}
Читая код, я понял, что есть форма для входа в систему, но у нее нет имени или идентификатора, поэтому я не знал, как ее использовать. Вместо этого я решил просто смоделировать щелчок, и это, кажется, заставляет его войти (я проверил, добавив веб-представление пользовательского интерфейса веб-просмотра). Однако, когда я печатаю документ, он возвращает код страницы входа вместо домашней страницы, когда я вхожу в систему. Почему это так? Это потому, что я щелкнул () вместо отправки формы? Если так, как я смогу получить форму, если у нее нет имени или идентификатора?
Если вы хотите получить доступ к сайту, вот он