В настоящее время я пытаюсь получить окончательный 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-адрес после окончания перенаправления.
Действительно застрял на этой проблеме, даже не получая много информации после осмотра много.