Toon posts:

[VB] webbrowser control en frames...

Pagina: 1
Acties:

Verwijderd

Topicstarter
he hallo,

Wie kan mij helpen met het volgende probleem:

Ik roep een pagina op in mijn webbrowser control, deze pagina bestaat uit 3 frames.
Pagina:
code:
1
2
3
4
5
6
7
8
9
10
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
    <FRAMESET>
        <FRAME NAME="frame1" SRC="frame1.html">
        <FRAME NAME="frame2" SRC="frame2.html">
        <FRAME NAME="frame3" SRC="frame3.html">
    </FRAMESET>
</HTML>

VB source:
code:
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Form_Load()
    Dim myDoc As HTMLDocument
    
    WebBrowser.Navigate ("http://www.3-framed-page.nl")
    
    Do While WebBrowser.Busy
       DoEvents
    Loop
    
    Set myDoc = WebBrowser.Document
    Login myDoc
End Sub

Op 1 van deze frames staan een aantal invoervakken, om in te kunnen loggen.
Frame:
code:
1
2
3
4
5
6
7
8
9
10
11
<HTML>
<HEAD></HEAD>
<BODY>
<FORM NAME="login" ACTION="http:/www.3-paged-frame.nl/member.html" METHOD="post">
    Loginnaam<BR>
    <INPUT TYPE="text" NAME="loginnaam"><BR>
    Passwoord<BR>
    <INPUT TYPE="password" NAME="paswoord"><BR>
</FORM>
</BODY>
</HTML>

Snappen jullie het nog? mooi....

In deze frame wil ik automatisch mijn inloggegevens zetten...
VB source:
code:
1
2
3
4
5
6
7
8
9
Sub Login(myDocument As HTMLDocument)
For i = 0 To myDocument.frames.length - 1
    If myDocument.frames(i).Name = "frame2" Then
        myDocument.frames(i).Document.All("loginnaam").Value = "FOP"
        myDocument.frames(i).Document.All("paswoord").Value = "YEAHRIGHT!"
    Exit Sub
   End If
Next
End Sub

Dit werkt dus niet :-(

Als ik alleen de frame opvraag in de webbrowser, dan werkt de volgende code wel..
VB source:
code:
1
2
3
4
Sub Login(myDocument As HTMLDocument)
    myDocument.All("loginnaam").Value = "FOP"
    myDocument.All("paswoord").Value = "YEAHRIGHT!"
End Sub

Maar dat wil ik dus niet, ik wil heel de pagina en niet alleen de frame...

Het verhaal is een beetje lang geworden maar ik wil alleen maar duidelijk zijn...
Ik ben al 3 dagen bezig met dit...ik word er echt gek van....

Alvast bedankt,
FOP

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Hmm.... als ik het zo bekijk zou ik denken dat hij dus niet door de if heenkomt wat betreft de naam van het frame. Heb je al eens geprobeerd om in je loop een msgbox te zetten met de namen van de frames zoals ze binnen jou app bekend zijn? Op die manier weet je pas zeker of je wel de juiste frame naam hebt en of hij die if wel netjes uitvoert.
Je kunt dit natuurlijk ook met een breakje doen...

My personal website


Verwijderd

Topicstarter
Hij komt wel door de If heen, als ik een messagebox met de naam van het frame geef na de afvanging, krijg ik netjes het frame naam te zien...het lijkt erop dat ik het frame niet kan benaderen...ook innerhtml kan niet getoond worden...

  • Theguide
  • Registratie: December 2000
  • Laatst online: 26-06-2025
Ik neem aan dat die inlogveldjes in een form staan. Kun je niet eens proberen om frames(i).Document.All te vervangen door frames(i).formName.loginnaam?

Fuck me if I'm wrong, but isn't your name Gretchen?


Verwijderd

Topicstarter
Ik zit op m'n werk, zal het vanavond ff proberen...

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Volgens mij geeft de Busy flag alleen aan dat het webbrowser component zelf zijn pagina ingeladen heeft. Je hebt op dat moment geen garantie dat de frames ook al geladen zijn, het zal zelfs hoogst onwaarschijnlijk zijn. Met de readyState property van de frames kun je echter wel wachten totdat deze complete zijn. Zie ook hier.

Professionele website nodig?


Verwijderd

Topicstarter
curry684 schreef op 28 mei 2003 @ 17:23:
Volgens mij geeft de Busy flag alleen aan dat het webbrowser component zelf zijn pagina ingeladen heeft. Je hebt op dat moment geen garantie dat de frames ook al geladen zijn, het zal zelfs hoogst onwaarschijnlijk zijn. Met de readyState property van de frames kun je echter wel wachten totdat deze complete zijn. Zie ook hier.
That's it! de frame was nog niet geladen....
Thnx!
Pagina: 1