Const READYSTATE_COMPLETE = 4
Private Sub Command1_Click()
With WebBrowser1.Document
.getElementById("Domain").Value = "mail.ru" 'выпадающая вкладка @mail.ru/@list.ru/@bk.ru/inbox.ru
.getElementById("Login").Value = "Login"
.getElementById("Password").Value = "Password"
.Forms(2).submit 'Войти
End With
End Sub
Private Sub Form_Load()
Show
WebBrowser1.Navigate "http://mail.ru"
While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
End Sub
Vova_2581 писал(а):
- Код: Выделить всё
Const READYSTATE_COMPLETE = 4
Private Sub Command1_Click()
With WebBrowser1.Document
.getElementById("Domain").Value = "mail.ru" 'выпадающая вкладка @mail.ru/@list.ru/@bk.ru/inbox.ru
.getElementById("Login").Value = "Login"
.getElementById("Password").Value = "Password"
.Forms(2).submit 'Войти
End With
End Sub
Private Sub Form_Load()
Show
WebBrowser1.Navigate "http://mail.ru"
While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
End Sub
Invader писал(а):на странице в коде http://www.mail.ru я не нашел .getElementById("Password") как в прочем и других элементов
For Each MyObject In WebBrowser1.Document.Forms(2).getElementsByTagName("*")
Debug.Print MyObject.innerHTML
Next
WebBrowser1.Navigate WebBrowser1.Document.getElementById("folderLink_0").href
WebBrowser1.Document.getElementById("alien").Checked = 1
For Each MyObject In WebBrowser1.Document.getElementsByTagName("U")
List1.AddItem CStr(MyObject.innerText)
Next
WebBrowser1.Document.Forms'...
Invader писал(а):p.s. буду учить примеры
Хакер писал(а):Invader писал(а):p.s. буду учить примеры
Чтобы потом наизусть на ночь читать детям?
Invader писал(а):а) почему тогда forms(2) -откуда индекс?
Debug.Print WebBrowser1.Object.Document.Forms.Length
For Each MyObject In WebBrowser1.Document.getElementsByTagName("FORM") 'или WebBrowser1.Document.Forms
Debug.Print MyObject.Name
Next
With WebBrowser1.Document
.Forms(2).Domain.Value = "mail.ru"
.Forms(2).Login.Value = "Login"
.Forms(2).Password.Value = "Password"
.Forms(2).submit
'тоже самое --
.Forms("Auth").Domain.Value = "mail.ru"
.Forms("Auth").Login.Value = "Login"
.Forms("Auth").Password.Value = "Password"
.Forms("Auth").submit
End With
Dim HTML As String
HTML = WebBrowser1.Document.Forms("Auth").innerHTML
WebBrowser1.Document.Write HTML
Vova_2581 писал(а):Любой браузер является интерпретатором команд HTML-кода. Иными словами, HTML – это набор инструкций, выполняя которые он «рисует» на странице то, что ты указал в тэгах. Так вот, читая инструкции последовательно, он также последовательно индексирует одноименные объекты в HTML.
Хакер писал(а):Ерунду говоришь. Учи разницу между императивными и декларативными языками.
Vova_2581 писал(а):А на этом стало быть "ладушки"! Дальше пусть сам работает.
Option Explicit
Const READYSTATE_COMPLETE = 4
Private Sub Command1_Click()
Dim MyObject As Variant
With WebBrowser1.Document
.getElementById("q").Value = "развлечения" 'слово вносимое в поиск
.Forms(0).submit 'собсно кнопка поиск
End With
For Each MyObject In WebBrowser1.Document.getElementsByTagName("a")'вот здесь вопрос по передачи найденого
List1.AddItem CStr(MyObject.innerText)
Next
End Sub
Private Sub Form_Load()
Dim MyObject As Variant
WebBrowser1.Navigate "http://google.ru"
While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
For Each MyObject In WebBrowser1.Document.getElementsByTagName("ID")
Debug.Print MyObject.innerHTML
Next
End Sub
Private Sub Command1_Click()
Dim MyObject As Variant
With WebBrowser1.Document
.getElementById("q").Value = "развлечения" 'слово вносимое в поиск
.Forms(0).submit 'собсно кнопка поиск
End With
While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
For Each MyObject In WebBrowser1.Document.getElementsByTagName("a") 'вот здесь вопрос по передачи найденого
List1.AddItem CStr(MyObject.innerText)
Next
End Sub
Private Sub Command1_Click()
Dim s As String
s = Text2.Text
Dim MyObject As Variant
While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
With WebBrowser1.Document
.getElementById("q").Value = s 'слово вносимое в поиск
.Forms(0).submit 'собсно кнопка поиск
End With
Text1.Text = Empty
For Each MyObject In WebBrowser1.Document.getElementsByTagName("h3") 'вот здесь вопрос по передачи найденого
Text1.Text = Text1.Text + CStr(MyObject.innerText) + Chr(13) + Chr(10)
Next
End Sub
Во-первых, потому что херня написана. Почему цикл While WebBrowser1.ReadyState внезапно переехал в начало процедуры? Во-вторых, броузеру нужно какое-то время на загрузку. Чтобы не возникало желаний тыкать кнопки когда не надо, перед циклом ReadyState нужно кнопку выключать, а после включать.почему при первом нажатии
Глюк. Тестовый проект в студию.И ПОЧЕМУ ПРИ WebBrowser1.visible = false, а form1.visible=true
форма исчезает тоже
Chr(13) + Chr(10)
Command1.Enabled = False
While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
While WebBrowser1.Document.ReadyState <> "complete"
DoEvents
Wend
Command1.Enabled = True
Const READYSTATE_COMPLETE = 4
Private Sub Command1_Click()
Dim s As String
s = Text2.Text
Dim MyObject As Variant
With WebBrowser1.Document
.getElementById("q").Value = s '(ошибка)здесь вылетает ошибка при WebBrowser1.Visible = False
.Forms(0).submit 'собсно кнопка поиск
End With
Command1.Enabled = False
While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
While WebBrowser1.Document.ReadyState <> "complete"
DoEvents
Wend
Command1.Enabled = True
Text1.Text = Empty
For Each MyObject In WebBrowser1.Document.getElementsByTagName("h3") 'вот здесь вопрос по передачи найденого
Text1.Text = Text1.Text + CStr(MyObject.innerText) + vbCrLf
Next
End Sub
Private Sub Form_Load()
'WebBrowser1.Visible = False 'если включено выше строчка помечена (ошибка)
Form1.Visible = True
Dim s As String
s = Text2.Text
Dim MyObject As Variant
WebBrowser1.Navigate "http://google.ru"
While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
For Each MyObject In WebBrowser1.Document.getElementsByTagName("ID")
Debug.Print MyObject.innerHTML
Next
End Sub
Сейчас этот форум просматривают: Google-бот и гости: 27