С#, пара вопросов. - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming

Программирование / Programming
Ищете помощи в написании программы, есть сложность в выполнении задания (в институте и т.д.), пожалуйста, спросите у нас в данном форуме и мы обязательно вам поможем.

Ответ
Опции темы
Непрочитано 31.01.2013, 05:26   #1
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) С#, пара вопросов.

Собственно начал писать программу. С 0. У нас есть объект Webbrowser. Загружаю страницу, ее нужно заполнить в автоматическом режиме и кликнуть.
 webBrowser1.Document.GetElementById("username").InnerText = "1";
                webBrowser1.Document.GetElementById("password").InnerText = "1";
 
                foreach (HtmlElement input in this.webBrowser1.Document.GetElementsByTagName("submit"))
                {
                    if (input.Id == "submit" && input.GetAttribute("value") == "Login")
                    {
                        input.InvokeMember("click");
                        break;
                    }
                }
Code: C++
Вопрос: как узнать ElementId?
Zubastic вне форума Ответить с цитированием
Непрочитано 31.01.2013, 14:43   #2
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: С#, пара вопросов.

Как бы поиск компонента в документе только по elementId или тагу и идет. Откуда код знает какой элемент вам надо найти в документе?
ANZO вне форума Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™ Ответить с цитированием
Непрочитано 31.01.2013, 16:00   #3
Аватар для KID
Пользователь

По умолчанию Re: С#, пара вопросов.

Как где? - в коде самой открываемой странички
KID вне форума Отправить сообщение для KID с помощью Skype™ Ответить с цитированием
Непрочитано 31.01.2013, 16:07   #4
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: С#, пара вопросов.

Цитата:
Сообщение от ANZO Посмотреть сообщение
Как бы поиск компонента в документе только по elementId или тагу и идет. Откуда код знает какой элемент вам надо найти в документе?
Мне нужно ввести логин и пароль. Они подгружаются через js. Вот мне нужно узнать какой так или elementId, как его вывести?

Добавлено через 2 часа 17 минут
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<meta http-equiv="cache-control" content="no-cache" />
		<meta http-equiv="pragma" content="no-cache" />
		<style type="text/css" media="screen">@import 'themes/elt_lite/login.css'/**/;</style>
		<script type="text/javascript">
		<!--//--><![CDATA[//><!--
 
function firstFocus() {
	if (document.forms.length > 0)
	{
		var f = document.forms[0];
		for (var i=0; i<f.length; i++)
		{
			var e = f.elements[i];
			if ((e.name) && (e.type) && ((e.type=='text') || (e.type=='textarea')) && (!e.disabled))
			{
				e.focus();
				break;
			}
		}
	}
}
 
		//--><!]]>
		</script>
 
	</head>
 
	<body id="login" onload="firstFocus();">
		<!-- Start #login-container -->
		<div id="login-container">
 
 
		<!-- redirect to splash for all cases. Set splashpage iframe src to "https://hostname/cas/login#splashpage" -->
		<script type="text/javascript">
			var queryString = window.location.search;
			if (window.location == window.parent.location || !queryString || queryString.indexOf("page=splashpage") < 0) {
				var splashURL =  "http://" + window.location.hostname + "/p/splash";
				window.open(splashURL,"_top");
			}
		</script>
 
 
		<!-- Start #login-form -->
		<div id="login-form-container">
			<form id="fm1" class="fm-v clearfix" action="/cas/login?page=splashpage&amp;target=top&amp;service=/p/cas" method="post">
 
 
				<fieldset>
					<ol>
						<li>
							<!--
							  --**Usability project change has been started
							  --**Label is disable because UserName is coming dynamically from Resource bundle class (message.properties) 
							 -->
							 <!--<label for="username">User ID:</label>--> 
							<label for="username">User ID</label>	
							<!--**Usability project change has been ended -->													
 
 
 
 
								<input id="username" name="username" class="required" tabindex="1" accesskey="n" type="text" value="" autocomplete="on"/>
 
						</li>
						<li>
							<!--
							  --**Usability project change started
							  --**Label is disable because password is coming dynamically from Resourcebundle class (message.properties)						
							-->
							<!-- <label for="password">Password:</label>-->
							<label for="password">Password</label>		
							<!--**Usability project change has been Ended -->								
 
							<input id="password" name="password" class="required" tabindex="2" accesskey="p" type="password" value="" autocomplete="on"/>
						</li>
						<li class="last">
							<button type="submit" name="submit" title="Login">Login</button>
							<input type="hidden" name="lt" value="_тут_значение" />
							<input type="hidden" name="_eventId" value="submit" />
						</li>
					</ol>
				</fieldset>
        	</form>
		</div>
		<!-- End #login-container -->
	</body>
</html>
Code: PHP
Вот как вытащить elementId?

Последний раз редактировалось Zubastic; 31.01.2013 в 21:36. Причина: Добавлено сообщение
Zubastic вне форума Ответить с цитированием
Непрочитано 31.01.2013, 21:22   #5
Аватар для Mafio
Супергерой

По умолчанию Re: С#, пара вопросов.

Актуально...........
__________________
Kakos Дайте Кастетчикам какойта УД. Без уд хреново падаєт бистро що ето капец, а єсли не УД то хотяби какойта хил.
Mafio вне форума Ответить с цитированием
Непрочитано 31.01.2013, 22:13   #6
Пользователь

По умолчанию Re: С#, пара вопросов.

а так?
PHP код:
webBrowser1.Document.GetElementById("Login").InvokeMember("click"); 
keni2006 вне форума Отправить сообщение для keni2006 с помощью ICQ Ответить с цитированием
Непрочитано 31.01.2013, 22:31   #7
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: С#, пара вопросов.

http://yvision.kz/post/238540
Нашел это, но как узнать id...

Добавлено через 15 минут
http://www.cyberforum.ru/csharp-begi...040-page2.html
Вот еще такое...

Последний раз редактировалось Zubastic; 31.01.2013 в 22:46. Причина: Добавлено сообщение
Zubastic вне форума Ответить с цитированием
Непрочитано 31.01.2013, 23:09   #8
Аватар для Sp1tfire
Участник

По умолчанию Re: С#, пара вопросов.

__________________
C# разработчики ваще лютая армия. Сейчас допишу коммент и пойду писать на C# для iOS
Sp1tfire вне форума Ответить с цитированием
Непрочитано 01.02.2013, 01:19   #9
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: С#, пара вопросов.

Не знаю, я не понимаю вашей проблемы. Писал не так давно клиента для JIRA, который как раз через webBrowser и работал - проблем никаких не возникло. Все id элементов спокойно просматриваются через сурс страницы.
ANZO вне форума Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™ Ответить с цитированием
Непрочитано 01.02.2013, 01:43   #10
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: С#, пара вопросов.

ANZO, вообщем страница сделана через фреймы. Т.е. если запрашивать исходный html, то там будет запрос фрейма. Вот как запросить код страницы с выполненными фреймами я даже хз..
Пытался запрашивать по ElementId:
                webBrowser1.Document.All["username"].InnerText = "1";
                webBrowser1.Document.All["password"].InnerText = "1";
                webBrowser1.Document.All["submit"].InvokeMember("click");
Code: C++
В итоге имеем:


Добавлено через 22 минуты
Sp1tfire, не все так просто...не находит данный элемент, хотя страница загружена...возможно дело в том, что так называется label и input...

Добавлено через 26 минут

Соответственно отловить value кнопки submit можно только через RegExp. Однако я не могу просто ввести логин и пароль..

Добавлено через 3 часа 37 минут
Вообщем, что имеем:
Страница:
{
         Фрейм:
         {
               Кнопка для входа
          }
}
Code: Java
Через
foreach (HtmlElement Element in webBrowser1.Document.All)
            {
                if (Element.Id == "cas_iframe")
                {
                    MessageBox.Show("1");
                }
            }
Code: C++
Программа ищет только фрейм, а все, что внутри него, она уже найти не может, причем данная вещь работает только если кликнуть по кнопке, иначе ничего не находит. (Если запустить еще раз, то найдет).
                while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents();}
Code: C++
Стоит, но почему-то по страничке не ищет...

Последний раз редактировалось Zubastic; 01.02.2013 в 05:23. Причина: Добавлено сообщение
Zubastic вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пара вопросов Литион Работа со скриптами 3 03.01.2013 02:21
Пара вопросов относительно l2j ilbuono Lineage II 6 10.10.2010 16:23
пара вопросов SkyAngel Lineage II 4 14.06.2010 01:23
пара вопросов SkyAngel Lineage II 4 23.05.2010 07:50
пара вопросов vymkaa Lineage II 1 10.11.2009 13:51


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 19:36. Часовой пояс GMT +3.

Вверх