Jest czy nie, Webbrowser

0

Witam. Mam pewien problem gdyż nie mogę sprawdzić czy jakaś rzecz, jest czy nie ma. Mam taki kod

if (webBrowser1.Document.GetElementsByTagName("map")[0] == null)

Gdy chcę sprawdzić czy jest null a na stronie nie ma go to wyskakuje błąd Value of '0' is not valid for 'index'. 'index' should be between 0 and -1.
Parameter name: index

 a gdy ta rzecz jest na stronie i chcę sprawdzić czy jest to wyskoczy messagebox z wiadomością, że jest. Tutaj moje pytanie, jak mogę za pomocą GetElementsByTagName sprawdzić czy jakaś rzecz jest na stronie lub jej nie ma bez wywalania błędu tylko powiadomienia messagebox.

Z góry dziękuje
0

Bo sprawdzasz element tablicy, której w ogóle nie ma, bo metoda zwraca tablicę elementów o danym tagu. Sprawdź czy wynik metody nie równa się null: if (webBrowser1.Document.GetElementsByTagName("map") == null) lub tak jak wcześniej robiłeś, tylko, że dodaj wyjątek i w wyjątku daj mbox'a.

EDIT:
Zwraca kolekcję, nie tablicę, zrób tak jak na MSDN:

HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("META");
if (elems.Count == 0)
    MessageBox.Show("Nie ma");
else
    MesageBox.Show("Jest");

A tak przy okazji, temat wątku jest do d***, nie przekazuje żadnej sensownej treści.

0

zrobiłem tak i jeśli nie ma tej rzeczy na stronie to nie wyskoczy msgbox Nie ma tylko błąd wywali w programie.

            if (webBrowser1.Document.GetElementById("map") == null)
            {
                MessageBox.Show("Nie ma");

            }
            else
            {
                MessageBox.Show("Jest");
            }
0

Nie wiedziałem jak określić ten problem w paru słowach. Jak na razie działa, bardzo dziękuje

1 użytkowników online, w tym zalogowanych: 0, gości: 1