QWebFrame имеет функцию baseUrl, которая предоставит объект QUrl, чтобы помочь вам разрешить URL-адреса на странице.
С его помощью вы можете вызывать разрешенную функцию с отдельным QUrl (созданным из href) для разрешения URL.Если URL-адрес является относительным, он преобразует его в разрешенный абсолютный URL-адрес.Если он не относительный, он возвращает его без изменений.
Вот (непроверенный) пример на основе предоставленного вами кода:
QUrl baseUrl = webPage->mainFrame()->baseUrl();
QWebElementCollection collection = webPage->mainFrame()->findAllElements("a");
foreach (QWebElement element, collection)
{
QString href = element.attribute("href");
if (!href.isEmpty())
{
QUrl relativeUrl(href);
QUrl absoluteUrl = baseUrl.resolved(relativeUrl);
// Process
}
}