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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нажатие на кнопку на компоненте WebBrowser, Есть код html, не знаю как сделать нажат 
V
    Опции темы
Syrex
Дата 9.7.2008, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть код на сайте:
Код

<tr>
    <td width="150" align="left">&nbsp;</td>
    <td width="250" align="right"><input type="submit" value="Enter" class="submit" tabindex="4" />
</td>

Этим кодом описывается кнопка. Как мнепрограммно нажать эту кнопку?!
PM MAIL ICQ   Вверх
_hunter
Дата 9.7.2008, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



Так как на кнопке никаких скриптов нет -- результатом ее нажатия будет отправка формы. Соответственно тебе нужно сделать то же самое -- послать HTTP-запрос, эквивалентный этой форме. Как это сделать можно найти на форуме (искать HTTP POST\GET).


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Idsa
Дата 9.7.2008, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Syrex, задать для кнопки id и выполнить примерно следующий код:
Код

document.getElementById('ButtonId').click()



--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Syrex
Дата 9.7.2008, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



в том-то и проблема, что id задать нельзя
PM MAIL ICQ   Вверх
Idsa
Дата 9.7.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ну а у формы есть id? Если есть, то можно вызвать submit у нее: эффект один и тот же.
Код

      WebBrowser browser = new WebBrowser();
      browser.Document.GetElementById("FormId").InvokeMember("submit");



--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
QryStaL
Дата 9.7.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


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

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



Код

HtmlElementCollection hec = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement he in hec)
{
    if (he.GetAttribute("value") == "Enter")
    {
        he.InvokeMember("click");
    }
}



--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
Syrex
Дата 9.7.2008, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



СПС
PM MAIL ICQ   Вверх
genrinew
Дата 3.4.2010, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Кто нибудь может подсказать мне, поскольку я в этом что-то не понимаю.
Нужно просто клинуть по кнопке на любом сайте. (Желательно прокомментируйте, где id формы, а где имя поля)
GetElementsByTagName("input") наверно перебирает все поля ввода, и находит текст кнопки?
Компилируется нормально, но почему при запуске ( VC#) пишет В экземпляре объекта не задана ссылка на объект?

Код

     webBrowser1.Navigate("http://www.yandex.ru/");

            HtmlElementCollection hec = webBrowser1.Document.GetElementsByTagName("input");
            foreach (HtmlElement he in hec)
            {
                if (he.GetAttribute("value") == "Найти")
                {
                    he.InvokeMember("click");
                }
            }

или так ( а GetElementById("button") это всё таки id номер или имя поля? )
Код

 webBrowser1.Navigate("http://site/");
 webBrowser1.Document.GetElementById("button").InvokeMember("click");



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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