Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/39: Рейтинг темы: голосов - 39, средняя оценка - 4.54
1 / 1 / 0
Регистрация: 31.10.2008
Сообщений: 21

Как узнать когда загрузилась страница в webBrowser?

02.06.2009, 22:46. Показов 8036. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собствено вопрос как узнать загрузилась страница в webBrowser в C#?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.06.2009, 22:46
Ответы с готовыми решениями:

Как узнать текущий zoom в Webbrowser?
Собственно сабж. Надо откорректировать как-то ширину элемента веббраузера относительно его зума, или хотя бы узнать текущий зум. Кто-то...

TabControl как узнать в обработчике, какая страница открыта?
while () { TabPage tabPage = new System.Windows.Forms.TabPage(); ...

Как программно узнать какая страница открыта в браузере
Как программно узнать какая страница открыта в браузере, если это нельзя сделать на c# то на каком языке можно? Какой браузер неважно.

12
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
02.06.2009, 22:56
щелкните два раза по webBrowser, сгенерируется событие DocumentCompleted. Вот тут и запишите код, который надо сделать после загрузки документа.
0
1 / 1 / 0
Регистрация: 31.10.2008
Сообщений: 21
03.06.2009, 13:45  [ТС]
Есть сайт people.md/profile/777.. 777 это id user...задается диапазон ID юзеров например от 100 до 500 страницы которых нужно посетить...мне нужно чтобы при нажатии кнопки включался цикл.. при повторном нажатии на кнопнуку включалась пауза...
C#
1
2
3
4
for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt32(textBox2.Text); i++)
    {
       webBrowser1.Navigate("http://www.people.md/profile/" + Convert.ToString(i));
    }
когда нажимаю кнопку страницы загружаются не поочередно а сразу переходит к последней странице в заданом диапазоне. Подскажите как исправить это дело?
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 13:48
Цитата Сообщение от graph Посмотреть сообщение
for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt32(textBox2.Text); i++) { webBrowser1.Navigate("http://www.people.md/profile/" + Convert.ToString(i)); }
Вот это в какое событие вставляете?
0
1 / 1 / 0
Регистрация: 31.10.2008
Сообщений: 21
03.06.2009, 14:00  [ТС]
как вы сказали в событие браузера.. ничего не изменилось
C#
1
2
3
4
5
6
 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
 for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt32(textBox2.Text); i++)
            {webBrowser1.Navigate("http://www.people.md/profile/" + Convert.ToString(i));
            }
}
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 14:06
У вас когда документ загрузится, начинается прогон страниц без остановки. поэтому и переходит к последней. объявите вне процедуры переменную:

public int mk;

затем просто организуйте вот так:

C#
1
2
3
4
5
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.Navigate("http://www.people.md/profile/" + Convert.ToString(mk));
mk++;
}
Да, кстати, не забудьте инициализировать переменную mk, а код тогда модифицируется так:

C#
1
2
3
4
5
6
7
8
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (mk<=Convert.ToInt32(textBox2.Text))
{
webBrowser1.Navigate("http://www.people.md/profile/" + Convert.ToString(i));
mk++;
}
}
0
1 / 1 / 0
Регистрация: 31.10.2008
Сообщений: 21
03.06.2009, 14:24  [ТС]
так этот int mk должен чему то равняться..начальному значению заданого диапазона public int mk= Convert.ToInt32(textBox1.Text); ??..как сделать чтоб при повторном нажати кнопки процес останавливался пауза..а затем опять продолжался

Добавлено через 1 минуту 8 секунд
))) ну я так и понял а вот с паузой никак не разберусь
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 14:32
Цитата Сообщение от graph Посмотреть сообщение
так этот int mk должен чему то равняться..начальному значению заданого диапазона public int mk= Convert.ToInt32(textBox1.Text); ??..
да

Цитата Сообщение от graph Посмотреть сообщение
))) ну я так и понял а вот с паузой никак не разберусь
сделайте временную переменную int tmp;
при нажатии паузы присвойте ей значение mk:
tmp=mk;
а само mk сделайте больше Convert.ToInt32(textBox2.Text); цикл прервется. для продолжения верните mk ее значение:
mk=tmp;
и введите:
webBrowser1.Navigate("http://www.people.md/profile/" + Convert.ToString(mk));

для проверки, что должна делать кнопка - пауза или продолжение - введите глобальную переменную bool и пусть если false - изменить на true и сделать паузу, а если true - изменить на false и продолжить перебор, а глобальную bool так:

public bool flag=false;
И объявите ее ВНЕ процедур (но внутри класса);

Много конечно и запутанно, но должно работать... Если я правильно понял назначение программы...
1
1 / 1 / 0
Регистрация: 31.10.2008
Сообщений: 21
03.06.2009, 15:06  [ТС]
когда я обьявляю public int mk = Convert.ToInt32(textBox1.Text); гдето в классе то получаю ошибку
A field initializer cannot reference the nonstatic field, method, or property 'people.Form1.textBox1'..а если внутри события webBrowser то происходит тоже самое что и с циклом(((
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 15:11
Цитата Сообщение от graph Посмотреть сообщение
public int mk = Convert.ToInt32(textBox1.Text);
так неверно. Вы объявляете переменную глобального модификатора, а процедуры у вас наверняка все private. Вне процедур, но в классе объявите переменную:

C#
1
2
3
4
5
6
7
public class CLASS{
public int mk;
private void procedure()
{//дальше идут процедуры.
 
}
}
А чтобы присвоить ей значение, сделайте это в любой процедуре, например как только начнете сканить сеть:
C#
1
mk=Convert.ToInt32(textBox1.Text);
названия классов и процедур у вас естественно другие будут. Это я схематично написал
0
1 / 1 / 0
Регистрация: 31.10.2008
Сообщений: 21
04.06.2009, 10:52  [ТС]
спасибо Veyron все работает.
Есть еще вопрос. Хочу залогиниться на сайте через winform тоесть ввожу логин и пароль в textBoxы в самой програме а не в браузере как это сделать?..
это форма самого сайта но не могу понять как связать её с програмой??
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form action="/users/login" method="post"><span class="login_caption">логин:</span><br>
<input name="username" value=""
                     type="text" id="login"
                     class="input_el_l"
                     maxlength="30">
<br>
<span class="login_caption">пароль:</span><br>
<input name="password" value=""
                     type="password" id="pass"
                     class="input_el_l"
                     maxlength="30">
<br>
<input id="remember" name="remember" type="checkbox" value="1" /> <label for="remember">Запомнить меня.</label><br />
<input name="commit" type="submit" value="Вход" />
</form>
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
04.06.2009, 11:34
Если честно, тут вроде нужно помимо знания C# еще и знание PHP - а я его толком не знаю. Можно попробовать залогинироваться на сайте вручную, потом найти Cookies, ну а затем просто скопировать в папку с программой. А при логинировании копировать Кукис в нужное место. Явный минус этого метода - авторизоваться можно только одной учеткой....
0
1 / 1 / 0
Регистрация: 31.10.2008
Сообщений: 21
04.06.2009, 11:41  [ТС]
не кукис это не выход..буду искать.

Добавлено через 3 минуты 2 секунды
а както через url передать можно?
http://www.people.md/?username=логин&password=пасс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2009, 11:41
Помогаю со студенческими работами здесь

Загрузилась страница?Как сделать чтобы было видно сколько % загрузилась страница.
Какой код нужно ввести во Front Page чтобы показывался процент сколько страница загрузилась.

Как проверить, загрузилась страница в WebBrowser или нет?
как проверить загрузилась ли страница в WebBrowser1 или нет. и как поставить Прогресбар на ее загрузку?? зарание СПАСИБО

Когда страница не загружена, показывать div, когда загрузилась, скрыть
Здравствуйте. Встретилась такая проблема: ни один скрипт по скрытию блока при полной загрузке не работает. Вот пример: ...

CppWebBrowser: узнать, загрузилась ли страница?
Всем привет.Вы не могли бы подсказать у CppWebBrowser1-&gt;Navigate(); есть метод который определяет загрузилась(обработалась) страница или...

Как проверить загрузилась ли страница в WebBrowser1
Как проверить загрузилась ли страница в WebBrowser1. Можно ли это сделать через оператор if. Чтоб не через событие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru