Cześć,
chcę stworzyć program Windows Presentation Foundation wyświetlający wyniki wyszukiwania internetowego z aktywnymi linkami, jak Google. Używam przeglądarki PhantomJS, która nie ma graficznego interfejsu. Pobiera dane z rezultatów wyszukiwarki Qwant Lite.

Teraz na okienku aplikacji wypisanych jest tylko kilka rezultatów (tytuły, adresy URL i opisy stron) bez odnośników. Podam przykład:

Microsoft ułatwia przejście z Windows 7 na Windows 10

https://www.komputerswiat.pl/aktualnosci/programy/microsoft-ulatwia-przejscie-z-windows-7-na-windows-10/d756zxe
Windows 7 to system operacyjny, który wkrótce zostanie porzucony. Wsparcie zakończy się w styczniu 2020 roku. Microsoft zdaje sobie sprawę z tego, że pod kontrolą "siódemki" pracują ...

Zauważyłem, że są pokazywane wszystkie skopiowane przez PhantomJS z Qwant Lite tytuły bez właściwości PropertyUrl. Ta właściwość określa, do jakiej strony trafi użytkownik po kliknięciu lewym przyciskiem myszy w tytuł. Tytuły nie są jednak odnośnikami do jakiejkolwiek strony.

Jak wyświetlić wszystkie rezultaty wyszukiwarki z linkami?

bool search_end = false, page_se = false;
byte page = 0; // Numer rezultatu

while (!search_end)
{
    try
    {
        while (!page_se)
        {
            try
            {
                Run title = new Run(phantomDriver.FindElements(By.ClassName("result")).ElementAt(page).FindElement(By.ClassName("title")).Text); // Tytuł strony
                Hyperlink hyperlink = new Hyperlink(title)
                {
                    NavigateUri = new Uri(phantomDriver.FindElements(By.ClassName("result")).ElementAt(page).FindElement(By.ClassName("url")).Text)
                };
                Results.Inlines.Add(hyperlink); // Results - Nazwa elementu TextBlock | Dodawanie linku
                Results.Text += Environment.NewLine;
                Results.Text += phantomDriver.FindElements(By.ClassName("result")).ElementAt(page).FindElement(By.ClassName("url")).Text + Environment.NewLine; // Dodawanie adresu URL
                Results.Text += phantomDriver.FindElements(By.ClassName("result")).ElementAt(page).FindElement(By.ClassName("desc")).Text + Environment.NewLine + Environment.NewLine; // Dodawanie opisu
                ++page; // Pobieranie danych z następnego wyniku
            }
            catch
            {
                page_se = true; // Koniec kopiowania informacji z obecnej strony wyszukiwarki
            }
        }
        phantomDriver.FindElement(By.ClassName("next")).Click(); // Przejście do następnej strony
        page = 0;
    }
    catch // Zamknięcie przeglądarki
    {
        phantomDriver.Quit();
        search_end = true;
    }
}

P.S.: Będę wdzięczny za podanie linków do stron lub filmików przedstawiających rozwiązanie problemu.