Приложение C# windows с управлением веб-браузером
овиде Кодехи все,
Я разрабатываю приложение C# windows, где я использую управление веб-браузером windows для автоматизации веб-приложения. Я использую webBrowser1_DocumentCompleted событие для загрузки файла он работает, но в конце он всплывает окно сообщения windows для этого я использую событие таймера с sendKey, так что загрузка происходит, но после этого он переходит на другие страницы, а не на домашнюю страницу.
Что мне делать, пожалуйста, посоветуйте.
Ниже я привожу код
частная webBrowser1_DocumentCompleted недействительным(объект отправителя, WebBrowserDocumentCompletedEventargs е)
{
если ((bFirstTime == истина) и усилитель; & (Эл.URL-адрес.Метод toString().Содержит(sPageLogin))) //только первый раз
{
toolStripTextBox1.Текст = метода webbrowser1.URL-адрес.Метод toString();
bFirstTime = ложь;
Объект HTMLElement heElement;
HtmlDocument doc = webBrowser1. Document;
HtmlElement userName = doc.GetElementById ("имя пользователя");
Объект HTMLElement пароль = док.GetElementById ("пароль");
если (имя пользователя != нуль)
имя пользователя.SetAttribute ("value", " hello");
if (password != null)
пароль.SetAttribute ("value", " thnaks");
Система.Нарезание резьбы.Нить.Сон(2000);
по каждому элементу (объект HTMLElement Эл в метода webbrowser1.Документ.GetElementsByTagName ("input"))
{
если (Эл.Имя == "логин" и усилитель; & Эл.OuterHtml.Содержит("код JavaScript:doSubmit()"))
{
эль.InvokeMember ("Click");
Система.Нарезание резьбы.Нить.Сон(2000);
}
}
}
ещё
{
если ((например.URL-адрес.Метод toString().Содержит("/1/roleDefine.делать")) || (электронные.URL-адрес.Метод toString().Содержит("/АВС/XYZ/мно/1/retrieveHomePage.делать")))
{ //https://applications.abc.com/xyz/mno/mtnl/1/roleDefine.do
по каждому элементу (объект HTMLElement Эл в метода webbrowser1.Документ.GetElementsByTagName ("a"))
{
если (Эл.OuterHtml.Содержит("/tdct/prod/wlbx/1/D624D669/en/images/buttons/home_images.jpg"))
{
эль.InvokeMember ("Click");
}
}
}
}
иначе если ((например.URL-адрес.Метод toString().Содержит("/tdct/прод/wlbx/1/операция/searchCheck.делать")))
{
//httpshttps://приложения.Азбука.ком/ской/мно/омов/1/searchCheck.делать
по каждому элементу (объект HTMLElement Эл в метода webbrowser1.Документ.GetElementsByTagName ("a"))
{
если (Эл.OuterHtml.Содержит("/tdct/prod/wlbx/common/images/icons/save.gif"))
{
эль.InvokeMember ("Click");
}
}
isHasAttachment = истина;
если (isHasAttachment)
{
Посылайте ключи.Отправить ("{Enter}");
//Система.Нарезание резьбы.Нить.Сон(5000);
Система.Окна.Формы.Таймер t = новая система.Окна.Формы.Таймер();
т. интервал = 15000;
t. Tick += new EventHandler(timer_Tick);
Т.Начать();
}
}
void timer_Tick(отправитель объекта, EventArgs e)
{
Посылайте ключи.Отправить ("{TAB}");
Посылайте ключи.Отправить ("{TAB}");
Посылайте ключи.Отправить ("{TAB}");
Посылайте ключи.Отправить ("{ENTER}");
}
}
благодарить всех
Что я уже пробовал:
проблема с управлением веб-браузером приложения c# windows для автоматизации веб-приложения
[no name]
Код, пожалуйста....только описание на странном английском языке очень ... очень ... очень ... трудно понять...
OriginalGriff
Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли.
Используйте виджет" улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.
jayveebishie
Вы хотите открыть свою домашнюю страницу после завершения загрузки? Вы пробовали использовать веб-браузер?Способ навигации?
IndrajitDasgupat
Да сэр я хочу открыть домашнюю страницу после загрузки
jayveebishie
webBrowser1. Navigate ("Ваш URL-адрес домашней страницы здесь");
IndrajitDasgupat
должен ли я поместить webBrowser1. Navigate ("your HOMEPAGE URL HERE") внутри функции timer_Tick
[no name]
Все зависит от того, чего вы на самом деле хотите. Если вы хотите перейти на конкретный сайт после TAB TAB TAB ENTER, то да, поместите его туда. Если нет, то положите его в другое место. Сначала попробуйте, если не работает, то спросите еще раз.