Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Заполнение и отправка web-формы / 19 сообщений из 19, страница 1 из 1
30.10.2006, 20:28
    #34092413
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Имеется страница, открытая через приложение, требуется автоматически заполнить данными формы и отправить её (форму). Как это осуществить?
...
Рейтинг: 0 / 0
31.10.2006, 00:47
    #34092659
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Ну помогите, очень срочно нужно
...
Рейтинг: 0 / 0
31.10.2006, 06:15
    #34092758
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Поставьте на форму контрол WebBrowser (Internet Controls)
и код (например для mail.rambler.ru)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Option Explicit

Private Sub Form_Load()
    WebBrowser1.Navigate2 "http://mail.rambler.ru"
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    On Error Resume Next
    Dim i%
    WebBrowser1.Document.All.Item( 69 ).Value = "login"
    WebBrowser1.Document.All.Item("passw").Value = "123"
    WebBrowser1.Document.All.Item("auth_form").Submit
End Sub
Только я не смог к полю указания имени получить доступ по имени, пришлось по индексу (69) обратиться
и ссылка по DHTML
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/collections.asp
...
Рейтинг: 0 / 0
31.10.2006, 09:41
    #34092976
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Выглядит все довольно-таки просто. Мне ещё говорили, что нужен какой-то winsock, я которым я лично не знаком, чтобы проводить такие операции. То есть, тут можно обойтись и без него, я так понимаю?
...
Рейтинг: 0 / 0
31.10.2006, 10:38
    #34093215
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Можно и через него, как говорится "Можно Машку за ляжку"
в данном случае вам нужно чтобы на компьютере где эта прога должна работать был установлен компонент WebBrowser (Microsoft Internet Controls), а в случае Winsock, все будет работать напрямую и гораздо быстрее, но при код будет гораздо больше, соответственно
...
Рейтинг: 0 / 0
31.10.2006, 15:59
    #34094796
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Ну компонент этот (webbrowser) будет всегда, если это платформа Windows. Я когда-то слышал, что его не модет быть, иначе тогда бы windows не работала. Во всяком случае, установить его не проблема. Но, насколько я понимаю, те же функции, что выполняются через winsock можно выполнить и через webbrowser control?
...
Рейтинг: 0 / 0
31.10.2006, 17:23
    #34095242
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Не всё
...
Рейтинг: 0 / 0
02.11.2006, 00:12
    #34099264
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
orunbek
Только я не смог к полю указания имени получить доступ по имени, пришлось по индексу (69) обратиться
А как узнать этот индекс, если доступ нельзя получить?
И ещё: как выбрать параметр radio?
...
Рейтинг: 0 / 0
02.11.2006, 00:18
    #34099270
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
И ещё такой вопрос, а если форма не имеет названия, то есть свойства name в form, как тогда выполнить Submit, если на странице есть и другие формы?
...
Рейтинг: 0 / 0
02.11.2006, 06:31
    #34099406
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Учите DHTML
вот ссылка на MSDN:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/dhtml_reference_entry.asp
...
Рейтинг: 0 / 0
02.11.2006, 15:31
    #34101336
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
orunbekУчите DHTML
Да причем тут DHTML - я его знаю. Я спрашиваю, как на VB выбрать переключатель, т.к. чтобы его выбрать в языке html просто ставится checked. А тут как програмно вставить его?
...
Рейтинг: 0 / 0
02.11.2006, 16:02
    #34101489
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
JSCRIPT:

Код: plaintext
chkObj.checked=true;
...
Рейтинг: 0 / 0
02.11.2006, 19:15
    #34102211
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Спасибо. Также мне бы хотелось узнать, как можно проверить на существование определённо элемента на форме? Ну допустим, есть ли элемент submit с именем "vote", типа такого.
...
Рейтинг: 0 / 0
03.11.2006, 06:17
    #34102631
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Nickson orunbekУчите DHTML
Да причем тут DHTML - я его знаю. Я спрашиваю, как на VB выбрать переключатель, т.к. чтобы его выбрать в языке html просто ставится checked. А тут как програмно вставить его?
Webbrowser1.Document
структура этого объекта точно такая же что и в DHTML, т.е. это одно и то же
поэтому и

Konst_OneJSCRIPT:

Код: plaintext
chkObj.checked=true;


Попробуйте так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Function IsElementExist(ByVal strElementNam$) As Boolean
      On Error Goto err_
      Dim objTemp As Object
      Set objTemp=Webbrowser1.Document.All(strElementName)
      IsElementExist=True
exit_:
      Exit Function
err_:
      IsElementExist=False
      Err.Clear
      Resume Next
End Function
функция не проверена, прямо здесь и написал, хотя по логике должна работать
...
Рейтинг: 0 / 0
04.11.2006, 01:31
    #34105421
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Нет не хочет работать. Есть или нет элемента - все равно выдаёт, что есть, значение TRUE.
...
Рейтинг: 0 / 0
04.11.2006, 01:40
    #34105423
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
И все таки также я не совсем разобрался с выбором переключателей.
Ну, допустим, есть на странице 2 переключетеля:
Код: plaintext
1.
<input type=radio name=settings value= 0 >
<input type=radio name=settings value= 1 >
Нужно выбрать один из них, допустим, первый. Тогда нужно сделать вроде так:
Код: plaintext
1.
Dim Radio As Object
   Set Radio = WebBrowser1.Document.All.Item("settings")
А дальше, как же присвоить "checked" элементу с именем "settings" и значением "0"?
...
Рейтинг: 0 / 0
04.11.2006, 11:06
    #34105549
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Вот и нашёл ответ на свой вопрос, всё довольно просто. А самое главное - в одной конструкции совмещается и заполение формы и проверка на существование элемента. Информация взята отсюда: http://]http://home.rochester.rr.com/lgsstatic/vb.html.
Ну а вот и сам код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    If (pDisp Is WebBrowser1.Application) Then
            Dim HTML As HTMLDocument
            Dim TAE As HTMLTextAreaElement
            Dim HIE As HTMLInputElement 'Generic Input elements
            'The generic is needed to find the Radio & Checkbox types
            'since there is not HTML Object for those
            'you can use HTMLTextElement but we wont need to
            Set HTML = WebBrowser1.Document
            For Each HIE In HTML.getElementsByTagName("input") 'Grabs all the inputs
                'First lets hit the subject, iconid, and poll
                Select Case HIE.Type
                    Case "text"
                        If HIE.Name = "comment" Then
                            HIE.Value = "my comments are going here.."
                        ElseIf HIE.Name = "mail" Then
                            HIE.Value = "fff@mail.com"
                        End If
                    Case "radio"
                        If HIE.Value = "3" Then
                            HIE.Click
                        End If
                End Select
            Next
    End If
End Sub
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
06.03.2013, 21:14
    #38176679
rootusr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
А как будет то же самое на VB 2012?
...
Рейтинг: 0 / 0
06.03.2013, 21:32
    #38176691
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнение и отправка web-формы
Почти точно так же.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Заполнение и отправка web-формы / 19 сообщений из 19, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]