Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
С#, пара вопросов.
#11
Вообще стандартно эмуль логина выглядит так:
[SRC="c++"]
webBrowser1.Document.GetElementById("username").SetAttribute("value", "yourUsernameHere");
webBrowser1.Document.GetElementById("password").SetAttribute("value", "yourPasswordHere");
foreach (HtmlElement item in webBrowser1.Document.GetElementsByTagName("input"))
{
if (item.OuterHtml.Contains("input_submit"))
{
item.InvokeMember("Click");
break;
}
}
[/SRC]

Содержимое фрейма в странице получается следующим образом:
[SRC="c++"]
webBrowser1.Document.Window.Frames[0].Document.GetElementsByTagName("HTML")[0].OuterHtml
[/SRC]
Ответ
#12
ANZO, к сожалению не получается:
[Изображение: 6918f27183d3be01f6ee6afd4b03.png]

Помоему ввод в лк какой-то фришки легче, чем ввод в данную форму ><
Ответ
#13
тз в пм и сделаю, для примера
Ответ
#14
ANZO, спасибо, отправил.
Ответ
#15
Не дает мне эта тема покоя все-таки....
Ответ
#16
Я пробовал, там танцы с бубном из-за фрейма схайженного мутить надо. Будет врея вечером гляну.
Ответ
#17
ANZO Написал:Вообще стандартно эмуль логина выглядит так:

Содержимое фрейма в странице получается следующим образом:
[SRC="c++"]
webBrowser1.Document.Window.Frames[0].Document.GetElementsByTagName("HTML")[0].OuterHtml
[/SRC]

Немного пугает строка. И не понять - исключение изза того что фрейм не успевает загрузиться, либо не находит тег.

В IE порядок отправки DocumentCompleted для страницы выглядит так:

Navigated domain.com/page.html
DocumentCompleted domain.com/frame1.html
DocumentCompleted domain.com/frame2.html
DocumentCompleted domain.com/page.html (когда все фреймы загрузились)

и порой из-за ms-магии последний может приходит между frame1 и frame2, что меня сильно напрягало при работе.

При отправки формы фрейма 1 срабатывает только
DocumentCompleted domain.com/frame1.html

Програмно отправить форму можно только при наличии input#submit вызвав Click на нем, иначе IE просто ничего не делал в моем случае. Пришлось программно добавлять его в тег FORM (магия майа)

В конечном счете перешел на ActiveX интеграцию через ScriptableObject и инжект Javascript'a (клиент запросил чтобы можно было передавать данные в обе стороны браузер-приложение)
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Ответ
#18
Само собой обработка содержимого страницы должна выполняться в webBrowser1_DocumentCompleted(). Другое дело, что при попытке доступа к Document фрейма в странице ,которую мучает Зубастик, получаем ошибку доступа (UnauthorizedAccessException).

Добавлено через 11 минут
Вот, кстати, и ответ почему http://stackoverflow.com/questions/12659...webbrowser
Ответ
#19
Если содержимое страницы известно и не меняется, то обработку желательно вести так:

Код:
bool iframe1_loaded, iframe2_loaded, parent_loaded;

onDocumentCompleted(object, EA args) {
   if(args.URL == frame1_url) iframe1_loaded = true
   if(args.URL == frame2_url) iframe2_loaded = true
   if(args.URL == main_url) parent_loaded = true

   if (iframe1_loaded, && iframe2_loaded && parent_loaded) {
      processPageContents()
   }
}

это избавит от частых нарушений в порядке вызова DC события. Один фрейм может загрузиться быстро, другой медленне, а ресурсы на главной странице уже загрузились пол минуты назад...
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Ответ
#20
Я уже 4 дня из гугла по сути не вылезаю, но встречается только примитив типа: люди добрые помогите разобрать страницу. Очень интересно как будет выглядеть решение...
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Загрузка armor.grp в веб клиент пару вопросов OneThunder 8 2,168 07-30-2016, 11:00 PM
Последний пост: OneThunder
  У меня есть пару вопросов. Boris2105 9 2,890 09-17-2013, 07:45 PM
Последний пост: Quarrel
  Пару вопросов о denwer cmex 7 3,176 08-21-2011, 06:28 PM
Последний пост: Yukio

Перейти к форуму:


Пользователи, просматривающие эту тему: 4 Гость(ей)