• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak pokazać wyniki wyszukiwarki internetowej z linkami w oknie WPF?

VPS Starter Arubacloud
0 głosów
111 wizyt
pytanie zadane 6 lutego 2020 w C# przez Zachodni_Słowianin Nowicjusz (120 p.)
edycja 7 marca 2020 przez Zachodni_Słowianin

Cześć,
chcę stworzyć program WPF wyświetlający wyniki wyszukiwania internetowego z linkami, jak Bing. Korzystam z przeglądarki PhantomJS, która nie posiada interfejsu. Pobiera dane z wyszukiwarki Qwant Lite.

Obecnie 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 - tytuł strony

https://www.komputerswiat.pl/[...]ndows-7-na-windows-10/d756zxe - adres URL
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ą ... - opis strony

Wiem, że są pokazywane wszystkie skopiowane przez PhantomJS wyniki, kiedy nie ma tytułów z właściwością PropertyUrl. Ta właściwość określa, do jakiej strony trafi użytkownik po kliknięciu w dany element. Tytuły nie są odnośnikami do żadnej strony.

Jak wyświetlić wszystkie rezultaty wyszukiwarki z linkami? Mile widziane odnośniki do stron, które pokazują rozwiązanie problemu.

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;
    }
}

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
3 odpowiedzi 472 wizyt
pytanie zadane 10 lutego 2019 w C# przez karol928 Początkujący (320 p.)
0 głosów
3 odpowiedzi 290 wizyt
pytanie zadane 8 maja 2017 w C# przez berenika Nowicjusz (140 p.)
0 głosów
0 odpowiedzi 361 wizyt
pytanie zadane 21 października 2020 w C# przez Misiek Mądrala (5,320 p.)

92,786 zapytań

141,719 odpowiedzi

320,651 komentarzy

62,115 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...