Переадресация Chromedp URL - PullRequest
0 голосов
/ 27 марта 2020

В настоящее время я пытаюсь получить окончательный URL-адрес после публикации формы, используя chromedp. Есть несколько переадресаций со стороны сервера перед последней страницей. Мне нужно знать, когда перенаправления закончились, а затем нужно извлечь этот последний URL.

пока у меня есть следующее:

func NavigateAndSetValue(host string, pgPost *models.PgPostStruct, index *int64, entries *[]*page.NavigationEntry) chromedp.Tasks {
    return chromedp.Tasks{
        chromedp.Navigate(host),
        chromedp.NavigationEntries(index, entries),
        chromedp.WaitVisible(`#btnSubmit`, chromedp.ByID),
        chromedp.SetValue(`#lngTransId`, pgPost.LngTransID, chromedp.ByID),
        chromedp.SetValue(`#strPaymentString`, pgPost.StrPaymentString, chromedp.ByID),
        chromedp.SetValue(`#strBookingAlert`, pgPost.StrBookingAlert, chromedp.ByID),
        chromedp.SetValue(`#strIPAddress`, pgPost.StrIPAddress, chromedp.ByID),
        chromedp.SetValue(`#strAppCode`, pgPost.StrAppCode, chromedp.ByID),
        chromedp.Click(`#btnSubmit`, chromedp.ByID),
    }
}

Я пытаюсь использовать NavigationEntries, чтобы получить список всех URL, но проблема в том, что NavigationEntries работает только после прямого вызова chromedp.Navigate. (), который получает начальный (начальный URL), но после этого все перенаправления со стороны сервера не записываются.

Так что мне нужно сделать следующее:

1) Определить когда перенаправления закончились (любой сложный пример был бы действительно полезен)

2) Получить окончательный URL-адрес после окончания перенаправления.

Действительно застрял на этой проблеме, даже не получая много информации после осмотра много.

...