Модераторы: diadiavova, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WebBrowser, Программное взаимодействие с документом 
V
    Опции темы
Natapro
Дата 10.10.2009, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 13.9.2009
Где: Украина

Репутация: нет
Всего: нет



так вставила и оно млин по сто раз нажімает вход вход вход вход без остановки!

Добавлено через 27 секунд
понимаешь это или нет ?


--------------------
Красивая девушка не может быть глупой.Умная девушка не позволит себе быть некрасивой...
PM MAIL   Вверх
diadiavova
Дата 10.10.2009, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



А в какое место ты его вставила?

Добавлено через 31 секунду
Уж не в DocumentComplete ли?


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Natapro
Дата 10.10.2009, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 13.9.2009
Где: Украина

Репутация: нет
Всего: нет



а куда надо ?


--------------------
Красивая девушка не может быть глупой.Умная девушка не позволит себе быть некрасивой...
PM MAIL   Вверх
diadiavova
Дата 10.10.2009, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Вот смотри, что тебе надо написать в главной форме( с браузером)
Код

        Dim loginForm As New Form2 ' это фома с логином и паролем
        If loginForm.ShowDialog = Windows.Forms.DialogResult.OK Then
            'здесь код вставки логина и пароля
            'далее отправка
            Dim f = WebBrowser1.Document.Forms(0).DomElement
            f.GetType.GetMethod("submit").Invoke(f, Nothing)
        Else
                        'если проверка на пройдена, закрываем форму например или ещё что-нибудь
            Me.Close()
        End If


В самой форме с логином пишешь, если логин введён правильно, то диалогрезульт равно ОК, в ином случае не ОК
И всё

Добавлено через 3 минуты и 44 секунды
Цитата(Natapro @  10.10.2009,  21:43 Найти цитируемый пост)
а куда надо ? 
Когда ты отправляешь данные на сервер, он возвращает новый документ. Когда этот документ загрузится вновь происходит событие DocumentComplete и всё повторяется. То есть надо либо запретить выполнение этого кода после первого раза, либо отписаться от события, либо смотреть по обстоятельствам, тут вслепую трудно советовать

Добавлено через 7 минут и 11 секунд
В частности отписаться можно так
Код

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        Dim loginForm As New Form
        If loginForm.ShowDialog = Windows.Forms.DialogResult.OK Then
            'здесь код вставки логина и пароля
            'далее отправка
            Dim f = WebBrowser1.Document.Forms(0).DomElement
            f.GetType.GetMethod("submit").Invoke(f, Nothing)
        Else
            Me.Close()
        End If
        RemoveHandler Me.WebBrowser1.DocumentCompleted, AddressOf Me.WebBrowser1_DocumentCompleted
    End Sub



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Natapro
Дата 10.10.2009, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 13.9.2009
Где: Украина

Репутация: нет
Всего: нет



я щяс убюсь  smile  ничерта не поняла как сделать
ну прям бери и  smile 
а незя просто написать код нажатия кнопки ? или отправки кода в 1 Форму ?

Добавлено через 16 секунд
ато ничего не получилось!

Добавлено через 40 секунд
Целый День себе мозги парю с этим :( целый день у компа

Добавлено через 1 минуту и 3 секунды
7 часов сидеть и парится, ужас smile 


--------------------
Красивая девушка не может быть глупой.Умная девушка не позволит себе быть некрасивой...
PM MAIL   Вверх
diadiavova
Дата 10.10.2009, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Что касается кода нажатия кнопки, то эффект будет тем же. Что такое отправка кода в 1 форму я вообще без понятия.

Добавлено через 3 минуты и 32 секунды
Цитата(Natapro @  10.10.2009,  22:02 Найти цитируемый пост)
ато ничего не получилось!
А что не получилось то? Последний вариант чем не устроил?



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Natapro
Дата 10.10.2009, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 13.9.2009
Где: Украина

Репутация: нет
Всего: нет



всё сделала, добавила не в Форму с браузером а в форму диалога (точнее нажатия кнопки ок)код

Код

 Dim f = Form1.WebBrowser1.Document.Forms(0).DomElement
        f.GetType.GetMethod("submit").Invoke(f, Nothing)

и всё нормально


--------------------
Красивая девушка не может быть глупой.Умная девушка не позволит себе быть некрасивой...
PM MAIL   Вверх
diadiavova
Дата 10.10.2009, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Ну наконец то smile

Добавлено через 4 минуты и 28 секунд
Хоть это и не по феншую воздействовать из диалога на главную форму, ну да ладно smile

Добавлено через 6 минут и 4 секунды
Странно только, что вот этот код не сработал
Код

        Dim loginForm As New Form2 ' это фома с логином и паролем
        If loginForm.ShowDialog = Windows.Forms.DialogResult.OK Then
            'здесь код вставки логина и пароля
            'далее отправка
            Dim f = WebBrowser1.Document.Forms(0).DomElement
            f.GetType.GetMethod("submit").Invoke(f, Nothing)
        Else
                        'если проверка на пройдена, закрываем форму например или ещё что-нибудь
            Me.Close()
        End If
а тот, что ты написала работает. Чойт ты мудришь


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Pilger
Дата 10.10.2009, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



Цитата

Целый День себе мозги парю с этим :( целый день у компа


Зато работают. Развиваются  smile   smile 


--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
Natapro
Дата 10.10.2009, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 13.9.2009
Где: Украина

Репутация: нет
Всего: нет



вот какой код я написала в диалоге и есть одна проблема , для веббраузера1 нормально всё роботает а вот для веббраузера 2 нероботает2 :(
Код

    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click

        Form1.WebBrowser1.Document.GetElementById("login_auth").SetAttribute("value", UsernameTextBox.Text)
        Form1.WebBrowser1.Document.GetElementById("pass_auth").SetAttribute("value", PasswordTextBox.Text)
        Dim f = Form1.WebBrowser1.Document.Forms(0).DomElement
        f.GetType.GetMethod("submit").Invoke(f, Nothing)
        Form1.WebBrowser2.Document.GetElementById("username").SetAttribute("value", TextBox1.Text)
        Form1.WebBrowser2.Document.GetElementById("password").SetAttribute("value", TextBox2.Text)
        Dim b = Form1.WebBrowser2.Document.Forms(0).DomElement
        b.GetType.GetMethod("submit").Invoke(b, Nothing)
        Me.Close()
    End Sub



--------------------
Красивая девушка не может быть глупой.Умная девушка не позволит себе быть некрасивой...
PM MAIL   Вверх
diadiavova
Дата 10.10.2009, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Цитата(Natapro @  10.10.2009,  22:53 Найти цитируемый пост)
вот какой код я написала в диалоге и есть одна проблема , для веббраузера1 нормально всё роботает а вот для веббраузера 2 нероботает2 :(

А что в нём? Если там в документе нет формы, то и не должно.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Natapro
Дата 10.10.2009, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 13.9.2009
Где: Украина

Репутация: нет
Всего: нет



какой формы ?

Добавлено через 27 секунд
я тебе скидывала  Исходный код страницы почитай, снизу форма входа есть..


--------------------
Красивая девушка не может быть глупой.Умная девушка не позволит себе быть некрасивой...
PM MAIL   Вверх
diadiavova
Дата 10.10.2009, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



То что ты скидывала - документ из первого браузера или из второго?


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Natapro
  Дата 10.10.2009, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 13.9.2009
Где: Украина

Репутация: нет
Всего: нет



со второго !
с первого я несмогла достать  исходный код, ну и ненадо он роботает на отлично smile


--------------------
Красивая девушка не может быть глупой.Умная девушка не позволит себе быть некрасивой...
PM MAIL   Вверх
diadiavova
Дата 10.10.2009, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Ну не знаю, но ты ведь понимаешь, ччто если в одном случае работает, то и в другом тоже должно. Если не получается, значит что-то не так в другом месте.

Выкладываю пример как надо работать с диалогами, чтобы по феншую было. Там данные немного по-другому отправляются, ну это как вариант(более простой кстати)

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  submit.rar 221,68 Kb


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0585 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.