Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Javascript и EmbeddedWB - управление элементами 
:(
    Опции темы
RA
Дата 3.10.2010, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Не могу описать суть моего вопроса дефинициями, по этому изложу как оно выглядит глазами  smile 

Есть такой ресурс http://webchat.quakenet.org/?channels=
который по сути IRC клиент в браузере.

На странице которую я привёл выше, два поля ввода одно для ника другое для канала а рядом кнопарь естесно.

Мне очень хочется что бы мой EmbeddedWB сам заполнил оба поля и нажал на кнопку Join, вот только проблема в том что, стандарным путём это всё не получается ибо, (как я понимаю) все кнопки и эдиты зажаблены.

Казалось бы можно заюзать Post, но и тут проклятая жаба мешает это сделать ...

===

Можно ли как-то обойти (даже не знаю как правильно назвать) эту защиту ?

Добавлено через 12 минут и 11 секунд
Вопрос решен. 
PM   Вверх
cat512
Дата 3.10.2010, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



Что то я не понял, а почему не подходит метод Post? Насколько я понимаю, ты плюнешь серверу HTML, и тебе должно быть без разницы, какие средства используются на веб-сервере для генерации страниц, будь-то Php, perl, java, asp или ещё что нибудь. Или я чего то не так понял?
PM MAIL   Вверх
RA
Дата 3.10.2010, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



PS: Сразу хочу сказать что задача решается стандартными средствами EWB, просто у меня из-за маленькой путаницы сложилось ошибочное впечатление повлекшее этот пост.

вот если кому интересно код
Код

var
  HtmlElement: IHTMLElement;
  iHTMLDoc: IHtmlDocument2;
  i:Integer;
  Doc: IHTMLDocument2;
  ElementCollection: IHTMLElementCollection;
  InputElement:IHTMLInputElement;
begin
  if Supports(EmbeddedWB1.Document, IHtmlDocument2, iHTMLDoc) then
  begin
    Embeddedwb1.ElementByID['loginnickname'].innerText := 'mojo';
    Embeddedwb1.ElementByID['loginchannels'].innerText := '#mojo';

    Doc := Embeddedwb1.Document as IHTMLDocument2;
    ElementCollection := Doc.all;
    for I := 0 to ElementCollection.length - 1 do
    begin
     try
      HtmlElement := ElementCollection.item(I, '') as IHTMLElement;
     except
       continue;
     end;
     if UpperCase(HTMLElement.tagName) = 'INPUT' then
     begin
      InputElement:=HTMLElement as IHTMLInputElement;
      if UpperCase(InputElement.type_) = 'SUBMIT' then
      begin
        HtmlElement.Click;
        //Memo1.Lines.Add( HTMLElement.tagName + ' i: '+ IntToStr(i) );
        Exit;
      end;
     end;
    end;

  end;


end;




Цитата(cat512 @  3.10.2010,  15:26 Найти цитируемый пост)
Что то я не понял, а почему не подходит метод Post? Насколько я понимаю, ты плюнешь серверу HTML, и тебе должно быть без разницы, какие средства используются на веб-сервере для генерации страниц, будь-то Php, perl, java, asp или ещё что нибудь.


Всё как ты пишешь, просто я совершенно не понимаю как выполнить присылаемый сервером обкуренный javascript что бы получить этот путь к странице на сервере.





Это сообщение отредактировал(а) RA - 3.10.2010, 17:25
PM   Вверх
cat512
Дата 4.10.2010, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



Выложи страничку генерируемую сервером.
PM MAIL   Вверх
RA
Дата 4.10.2010, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Вроде вот это
Код

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <base />
  <title>QuakeNet Web IRC (qwebirc)</title>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
  <link rel="shortcut icon" type="image/png" href="/static/norway/images/favicon.png"/>
  <link rel="stylesheet" href="/static/norway/css/qui-9d9c0b125cad.css" type="text/css"/>
  <script type="text/javascript" src="/static/norway/js/qui-9d9c0b125cad.js"></script>

  <script type="text/javascript">
    var ui = new qwebirc.ui.Interface("ircui", qwebirc.ui.QUI, {"appTitle":"QuakeNet Web IRC","networkServices":["[email protected]"],"loginRegex":"^You are now logged in as [^ ]+\\.$","dynamicBaseURL":"/dynamic/norway/","staticBaseURL":"/static/norway/","networkName":"QuakeNet","baseURL":"http://webchat.quakenet.org/"});
  </script>
</head>
<body>
  <div id="ircui">
    <noscript>
      <div id="noscript">Javascript is required to use IRC.</div>
    </noscript>
  </div>
</body>
</html>


PM   Вверх
cat512
Дата 4.10.2010, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



Посмотрел, на сервере JSON (AJAX)- используется. Соответственно у тебя есть 2 варианта:
1 Ставишь HTTP Analyzer. Смотришь header-ы и данные http-пакета, при нажатии на кнопку Join. В данных должен найти имена элементов которому отсылается логин и пароль.
2.В скрипте на сервере есть подключаемая библиотека, собственно с помощью которой и отсылается нужная информация. По сути тебе надо разобраться какой функцией делается сабмит. Подключить эту библиотеку в свой скрипт и дёрнуть нужную функцию
Второй вариант более приемлем чем первый, поскольку на сервере могут быть всевозможные ограничения(проверки), которые контролируют доступ к элементам

Добавлено через 14 минут и 23 секунды
Библиотеку дёргаешь так
http://webchat.quakenet.org/static/norway/...9d9c0b125cad.js
PM MAIL   Вверх
RA
Дата 4.10.2010, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Цитата(cat512 @  4.10.2010,  13:56 Найти цитируемый пост)
По сути тебе надо разобраться какой функцией делается сабмит. Подключить эту библиотеку в свой скрипт и дёрнуть нужную функцию


В этом и проблема ...    smile 
Цитата(RA @  3.10.2010,  17:24 Найти цитируемый пост)
как выполнить присылаемый сервером обкуренный javascript


PM   Вверх
cat512
Дата 5.10.2010, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



Попробуй так
xmlHttp.onreadystatechange=Logon /*Logon - функция из библиотеки, которую надо выполнить*/ 
xmlHttp.open("GET", url, true)
xmlHttp.send(null)
PM MAIL   Вверх
RA
Дата 5.10.2010, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



xmlHttp - а это что ? 
PM   Вверх
cat512
Дата 5.10.2010, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



Это объект (ActiveX, ком сервер)подхватываемый броузером
Почитай сначала это
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0994 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.