Тема: C# hidden frame
Показать сообщение отдельно
Старый 12.04.2013, 21:10   #12
Новичок
 
Регистрация: 05.11.2012
Сообщений: 5
Сказал Спасибо: 1
Имеет 4 спасибок в 3 сообщенях
s2lx пока неопределено
По умолчанию

PHP код:
            webBrowser1.Navigate("https://www.cambridgelms.org/p/splash");
            
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
            while (
webBrowser1.ReadyState != WebBrowserReadyState.Complete)
            {
                
Application.DoEvents();
            }
            
            if (
webBrowser1.Document != null)
            {
                var 
frame webBrowser1.Document.Window.Frames["cas_iframe"];

                
frame.Document.GetElementById("username").InnerText "12345";
                
frame.Document.GetElementById("password").InnerText "6789067";
                
HtmlElementCollection col frame.Document.GetElementsByTagName("button");
                foreach (
HtmlElement el in col)
                {
                    if (
el.GetAttribute("className") == "clms-small-btn")
                    {
                        
el.InvokeMember("click");
                    }
                }
            } 
Добавлено через 23 минуты
Можно так же методом get post
Сначала делаем GET запрос на получение страницы и Cookies/
Затем отправляем POST
Код:
/cas/login?page=splashpage&target=top&service=http://www.cambridgelms.org/p/cas username=12345&password=6789067&submit=&lt=_cFD56A6C9-FE79-4412-323D-953192D51A01_k520F407E-388E-1A19-63F7-D65E360CA5AD&_eventId=submit
то что красным это свои данные(логин/пароль) и то что придёт по первому запросу
И конечно не забываем добавлять пришедшие куки.
Во втором варианте кода конечно выходит больше, но работает быстрее т.к. не грузит графику.

Последний раз редактировалось s2lx, 12.04.2013 в 21:13. Причина: Добавлено сообщение
s2lx вне форума   Ответить с цитированием
За это сообщение s2lx нажился спасибкой от: