mshtml jak pobrać wartość ze strony

mshtml jak pobrać wartość ze strony
dam1an
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1589
0

Piszę bota do gry przeglądarkowej, mam dokument:

Kopiuj
 mshtml.HTMLDocument doc = (mshtml.HTMLDocument)browser.Document;

i radzę sobie z klikaniem w buttony i wstawianiem wartości do tekstboksów ale nie wiem jak pobrać tą wartość:

Kopiuj
<td class="nowrap">
        <a class="unit_link" onclick="return UnitPopup.open(event, 'light')" href="#">
            <img class="" alt="" title="Lekki kawalerzysta" src="http://cdn.plemiona.pl/8.18/19348/graphic/unit/unit_light.png?2d86d"></img>
        </a>
        <input id="unit_input_light" class="unitsInput" type="text" value="" tabindex="5" style="width: 40px" name="light"></input>
        <a href="javascript:insertUnit($('#unit_input_light'), 7)">

            (7) ///// tą wartość chcę pobrać

        </a>
    </td>
MR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 116
0

albo HtmlAgilityPack + xpath albo po prostu wyrażenia regularne

dam1an
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1589
0

Nie wiem jak pobrać dokument z WebBrowsera.

Kopiuj
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(browser.DocumentText);     // nie potrafię tego załadować, na jednym forum podają tak
doc.Load(browser.DocumentStream); // a na drugim tak i żaden nie działa, nie ma takich pól w klasie w ogóle
 

Dodam że to WPF jest.

Dobra nieważne poradziłem sobie jakoś

Kopiuj
mshtml.HTMLDocument doc = (mshtml.HTMLDocument)browser.Document;
                int begin = doc.body.innerHTML.IndexOf(@"javascript:insertUnit($('#unit_input_light'),");
                begin = begin + 1 + 45;
                int len = doc.body.innerHTML.IndexOf(@")",begin) - begin;
                return doc.body.innerHTML.Substring(begin, len); 

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.