Нужна помощь в получении нового 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 {}
    })
}

Читая код, я понял, что есть форма для входа в систему, но у нее нет имени или идентификатора, поэтому я не знал, как ее использовать. Вместо этого я решил просто смоделировать щелчок, и это, кажется, заставляет его войти (я проверил, добавив веб-представление пользовательского интерфейса веб-просмотра). Однако, когда я печатаю документ, он возвращает код страницы входа вместо домашней страницы, когда я вхожу в систему. Почему это так? Это потому, что я щелкнул () вместо отправки формы? Если так, как я смогу получить форму, если у нее нет имени или идентификатора?

Если вы хотите получить доступ к сайту, вот он

0 ответов

Другие вопросы по тегам