zdrojak z webbrowseru   otázka

VB.NET, WinForms

zdravim za pomoci tohto kodu ziskavam zdrojak z webbrowseru

WebBrowser1.Document.Body.InnerHtml

problem je ze mi to vzdy hody len stranku ktoru otvorim ako prvu ked otvorym inu a potom pouzijem prikaz tak aj tak mi to vyhodi tu prvu ... Ako je to vobec mozne ???

dakujem

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Není možné, že například tuto hodnotu někam ukládáte a pak omylem vyzvednete starou hodnotu místo toho, abyste zjistil tu novou?

Pokud použiji:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  MessageBox.Show(WebBrowser1.DocumentText)
  ' či
  MessageBox.Show(WebBrowser1.Document.Body.InnerHtml)
End Sub

I po následování odkazu ve WebBrowseru a stisku tlačítka dostanu vždy aktuální zdrojový kód. Napadá mě tedy jedině že opravdu hodnotu té vlastnosti, kterou jste uvedl výše, ukládáte do své vlastní proměnné a pak vyzvedáváte hodnotu té proměnné místo nové hodnoty, je to možné? Jak DocumentText, tak InnerHtml vrací string, což sice je referenční typ, ale je immutable, takže pokud se na hodnotu dotážete, dostanete jeho kopii a tím i novou referenci, jakákoliv změna této vlastnosti na WebBrowseru tedy nemůže být reflektována ve Vaší instanci stringu v proměnné.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

dakujem uz to funguje

este tu ma na stalcenie , nieje mi jasne co znamena forms(0)

 Me.WebBrowser1.Document.Forms(0).InvokeMember("submit")

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Forms je kolekce všech elementů <form> v dokumentu. Právě proto, že je to kolekce, dá se indexovat. Číslo nula je index prvku v kolekci a jelikož se prvky číslují od nuly, znamená to první element <form> v dokumentu. Pokud by dokument měl formulářů víc (například na stránce, kde je vyhledávání a registrace zároveň), bude i víc prvků v kolekci Forms.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

aha uz mi je to jasne , tak ked by som chcel kliknut na tento btn

<INPUT id=ut35nn_4 value="xxx" type=button>

tak pouzijem

WebBrowser1.Document.Body.InvokeMember("button")

avsak mi to nefunguje kde je problem ??

nahlásit spamnahlásit spam 0 odpovědětodpovědět

InvokeMember slouží k vyvolání metody na daném prvku ve stromě elementů DOM. Vy máte to tlačítko explicitně pojmenované (má ID), takže ho nejdřív musíte najít:

Dim tlačítko = WebBrowser1.Document.GetElementById("id")

A pak až na tomto nalezeném tlačítku vyvolat danou metodu:

tlačítko.InvokeMember("Click")

http://msdn.microsoft.com/en-us/library/... - InvokeMember na MSDN

http://msdn.microsoft.com/en-us/library/... - GetElementById na MSDN

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback