и опять "текст из фрейма"

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
novichok_07
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 14.03.2007 (Ср) 6:53

и опять "текст из фрейма"

Сообщение novichok_07 » 26.09.2007 (Ср) 10:49

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

предисловие: поиском пользовался , темы типа этой http://bbs.vbstreets.ru/viewtopic.php?t=30267&start=0&postdays=0&postorder=asc&highlight=%F2%E5%EA%F1%F2+%E8%E7+%F4%F0%E5%E9%EC%E0 и подобные ей читал, но так и не смог разобраться ...

Суть проблеммы:
я пытаюсь получить текст из окна чата в онлайн игре , игру загружаю в WebBrowser1 . С помощью кода :
Код: Выделить всё
RichTextBox2 = WebBrowser1.Document.body.innerHTML
получаю
Код: Выделить всё
<FRAME id=fr1 border=0 name=logo src="frame_logo2.php?sid=dabcdbfd7aa0a070cae200773a3af1a9" frameBorder=0 noResize scrolling=no onload1="_frame_load1(this);"><FRAME id=main_area border=0 name=main_area src="frame_area.php?sid=dabcdbfd7aa0a070cae200773a3af1a9" frameBorder=0 scrolling=no onload1="_frame_load1(this);"><FRAME id=chat border=0 name=chat src="heap.php?sid=dabcdbfd7aa0a070cae200773a3af1a9" frameBorder=0 scrolling=no onload1="_frame_load1(this);">
в RichTextBox1 пытаюсь получить текст из чата при помощи
Код: Выделить всё
RichTextBox1 = WebBrowser1.Document.getElementById("chat").innerText

.... но ничего не получается :( , окно RichTextBox1 остаётся пустым, хотя в чате игры окно заполненно сообщениями ...
подскажите в чём моя ошибка, что я не так делаю и как надо поступить правильно. Мне надо получать сообщения из чата игры в виде простого текста ,скажем в ListBox для дальнейшей обработки.

может это пригодится: свойство окна чата - .../heap_iframe.php?mode=text , все фреймы загружаются с одного хоста (в найденных топиках видел что проблеммы могут возникать из за того что фреймы грузятся с разных хостов)

если информации недостаточно для того что бы понять и решить данную задачу , скажите - дополню.

novichok_07
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 14.03.2007 (Ср) 6:53

Сообщение novichok_07 » 26.09.2007 (Ср) 14:09

исправил код на :
Код: Выделить всё
RichTextBox1 = webbrowser1.Document.frames("chat").window.document.body.innerhtml

получил :
Код: Выделить всё
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" bgColor=#f4f6f6 border=0>
<TBODY>
<TR>
<TD background=images/newdesign/bar_bg.gif height=27>
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=tbl-main_chatchng-ina-c align=middle width=5>&nbsp;</TD>
<TD width=4><IMG height=27 src="images/newdesign/top_div2.gif" width=4></TD>
<TD width=3><IMG id=chat_but0_IMGL height=27 src="images/newdesign/chleft0.gif" width=3></TD>
<TD class="" id=chat_but0_TD style="PADDING-TOP: 6px" vAlign=top align=middle width=90><A class=ch2 id=chat_but0_A onclick="chatChangePreset(0);return false;" href="#">Основной чат</A></TD>
<TD width=3><IMG id=chat_but0_IMGR height=27 src="images/newdesign/chright0.gif" width=3></TD>
<TD width=4><IMG height=27 src="images/newdesign/top_div2.gif" width=4></TD>
<TD width=3><IMG id=chat_but1_IMGL height=27 src="images/newdesign/chleft.gif" width=3></TD>
<TD class=chpreseton id=chat_but1_TD style="PADDING-TOP: 6px" vAlign=top align=middle width=90><A class=ch1 id=chat_but1_A onclick="chatChangePreset(1);return false;" href="#">Торговый чат</A></TD>
<TD width=3><IMG id=chat_but1_IMGR height=27 src="images/newdesign/chright.gif" width=3></TD>
<TD width=4><IMG height=27 src="images/newdesign/top_div2.gif" width=4></TD>
<TD align=middle>&nbsp;</TD>
<TD align=middle width=4><IMG height=27 src="images/newdesign/top_div2.gif" width=4></TD>
<TD align=middle width=53><A title="Управление пати" onclick="chatTogglePartyMode();return false;" href="#"><IMG id=party_btn height=27 src="images/newdesign/grp_0.gif" width=53 border=0></A></TD>
<TD align=middle width=4><IMG height=27 src="images/newdesign/top_div2.gif" width=4></TD>
<TD align=middle width=20><A title="Канал местоположения" onclick=chatToggleChannel(1); href="#"><IMG id=chat_chbut1_IMG height=27 src="images/newdesign/tlk_0.gif" width=20 border=0 _state="0"></A></TD>
<TD align=middle width=2><IMG height=27 src="images/newdesign/top_div_small.gif" width=2></TD>
<TD align=middle width=20><A title="Торговый канал" onclick=chatToggleChannel(8); href="#"><IMG id=chat_chbut8_IMG height=27 src="images/newdesign/trd_3.gif" width=20 border=0 _state="2"></A></TD>
<TD align=middle width=2><IMG height=27 src="images/newdesign/top_div_small.gif" width=2></TD>
<TD align=middle width=20><A title="Канал группы" onclick=chatToggleChannel(16); href="#"><IMG id=chat_chbut16_IMG height=27 src="images/newdesign/prt_0.gif" width=20 border=0 _state="0"></A></TD>
<TD align=middle width=2><IMG height=27 src="images/newdesign/top_div_small.gif" width=2></TD>
<TD align=middle width=20><A title="Клановый канал" onclick=chatToggleChannel(4); href="#"><IMG id=chat_chbut4_IMG height=27 src="images/newdesign/cln_0.gif" width=20 border=0 _state="0"></A></TD>
<TD align=middle width=2><IMG height=27 src="images/newdesign/top_div_small.gif" width=2></TD>
<TD align=middle width=20><A title="Канал рейда" onclick=chatToggleChannel(32); href="#"><IMG id=chat_chbut32_IMG height=27 src="images/newdesign/ins_0.gif" width=20 border=0 _state="0"></A></TD>
<TD align=middle width=4><IMG height=27 src="images/newdesign/top_div2.gif" width=4></TD>
<TD align=middle width=50>&nbsp;</TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD vAlign=top>
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top>
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD style="BORDER-TOP: #b2b2b2 1px solid; BORDER-LEFT: #b2b2b2 1px solid"><IFRAME style="WIDTH: 100%; HEIGHT: 100%" name=chat_text src="heap_iframe.php?mode=text" frameBorder=0 scrolling=yes></IFRAME></TD></TR></TBODY></TABLE></TD>
<TD vAlign=top width=270>
<TABLE height="100%" cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD style="BORDER-TOP: #b2b2b2 1px solid; BORDER-LEFT: #b2b2b2 1px solid" vAlign=top><IFRAME id=user_list style="WIDTH: 100%; HEIGHT: 100%" name=chat_user src="heap_online_user.php" frameBorder=0 scrolling=yes></IFRAME></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR>
<TR vAlign=bottom>
<TD height=34>
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" background=images/newdesign/bar_bottom.gif border=0>
<TBODY>
<TR align=middle>
<TD width=5>&nbsp;</TD>
<TD width=5><IMG height=34 src="images/newdesign/bottom_bg3.gif" width=5></TD>
<TD width=20><A onclick=setSpeed(); href="#">
<SCRIPT language=JavaScript type=text/javascript>document.write('<img src="images/newdesign/spd_'+top.chat_speed+'.gif" alt="Изменить скорость обновления чата" name="spd" id="spd" width=20 height=34 vspace=0 border=0 align=absbottom>');</SCRIPT>
<IMG id=spd height=34 alt="Изменить скорость обновления чата" src="images/newdesign/spd_3.gif" width=20 align=absBottom border=0 name=spd></A></TD>
<TD width=2><IMG height=34 src="images/newdesign/bottom_div_small.gif" width=2></TD>
<TD width=20><A onclick="return false;" href="#"><IMG id=priv_btn title="Все сообщения" height=34 src="images/newdesign/prv_1.gif" width=20 border=0 name=priv_btn title2="Все сообщения" title1="Приватные сообщения"></A></TD>
<TD width=2><IMG height=34 src="images/newdesign/bottom_div_small.gif" width=2></TD>
<TD width=20><A onclick="if (confirm('Очистить окно чата?')) javascript:chatClearText();" href="#"><IMG id=erase_btn title="Очистить окно чата" height=34 src="images/newdesign/ers_1.gif" width=20 border=0></A></TD>
<TD width=2><IMG height=34 src="images/newdesign/bottom_div_small.gif" width=2></TD>
<TD noWrap width=5>&nbsp;</TD>
<FORM name=chat_hidden_form action=heap_bottom1.php method=post target=chat_hidden><INPUT type=hidden value=1 name=text> <INPUT type=hidden value=0 name=user> <INPUT type=hidden name=msg_text> <INPUT type=hidden value=8 name=channel> <INPUT type=hidden value=8 name=channel_talk> <INPUT type=hidden value=1276179937 name=msg_id> <INPUT type=hidden value=203 name=loc_id> <INPUT type=hidden value=0 name=private> <INPUT type=hidden name=complain> <INPUT type=hidden name=crc>
<SCRIPT language=JScript src="images/trans.js"></SCRIPT>

<TD style="DISPLAY: none"><IFRAME style="DISPLAY: block; VISIBILITY: hidden" name=chat_hidden marginWidth=0 marginHeight=0 src="" frameBorder=1 width=1 scrolling=no height=1></IFRAME></TD></FORM>
<FORM id=msg_form onsubmit="chatSend();return false;">
<TD noWrap><B class=ginput><B><B><INPUT onkeypress=key_press(); id=message onkeydown=key_down(); onkeyup=key_up(); style="WIDTH: 100%" maxLength=200 onchange="gebi('message').focus();" name=message></B></B></B> </TD></FORM>
<TD noWrap width=5>&nbsp;</TD>
<TD width=2><IMG height=34 src="images/newdesign/bottom_div_small.gif" width=2></TD>
<TD noWrap width=53><A onclick="chatSend();return false;" href="#"><IMG id=send_btn title="Отправить сообщение в чат" height=34 src="images/newdesign/snd_1.gif" width=53 border=0></A></TD>
<TD width=5><IMG height=34 src="images/newdesign/bottom_bg3.gif" width=5></TD>
<TD width=20><A onclick="chatClearMessage();return false;" href="#"><IMG id=clear_btn title="Очистить строку ввода" height=34 src="images/newdesign/clr_1.gif" width=20 border=0></A></TD>
<TD width=2><IMG height=34 src="images/newdesign/bottom_div_small.gif" width=2></TD>
<TD width=20><A onclick="chatShowSmiles(this);return false;" href="#"><IMG id=smile_btn title=Смайлики height=34 src="images/newdesign/sml_1.gif" width=20 border=0></A></TD>
<TD width=2><IMG height=34 src="images/newdesign/bottom_div_small.gif" width=2></TD>
<TD width=20><A onclick="switch_trans();return false;" href="#"><IMG id=trans_btn height=34 alt=Translit src="images/newdesign/trn_1.gif" width=20 border=0></A></TD>
<TD width=2><IMG height=34 src="images/newdesign/bottom_div_small.gif" width=2></TD>
<TD width=20><A href="personage_bag.php" target=main><IMG id=bag_btn title=Рюкзак height=34 src="images/newdesign/bag_1.gif" width=20 border=0></A></TD>
<TD width=2><IMG height=34 src="images/newdesign/bottom_div_small.gif" width=2></TD>
<TD width=20><A href="personage_action.php" target=main><IMG id=act_btn title=Действия height=34 src="images/newdesign/act_1.gif" width=20 border=0></A></TD>
<TD width=5><IMG height=34 src="images/newdesign/bottom_bg3.gif" width=5></TD>
<TD width=19><IMG height=34 src="images/newdesign/clock.gif" width=19></TD>
<TD style="PADDING-RIGHT: 4px; PADDING-LEFT: 4px" vAlign=center width="1%">
<SCRIPT>
try {
        var clock = new Clock(['2007', '09', '26', '14', '50', '10'], "images/");
        if(clock){
                var audio = new Audio();
                audio.open_file("images/ringin.wav");
                clock.on_alarm=function() { audio.play(); }
                clock.on_alarm_cancel=function() { audio.stop(); }
                /*
                audio.on_pos_change=function(pos, len, perc) {
                window.status=pos+":"+len+"["+perc+"%]";
                }
                */
        }
}catch(e){}

</SCRIPT>
<SPAN id=clock_obj name="clock_obj">
<TABLE id=clock cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD id=clock_obj_c_hr style="COLOR: #5c5c5c" noWrap val="15" min_val="0" max_val="23">15</TD>
<TD id=clock_obj_e_hr style="DISPLAY: none" noWrap editor="1"><IMG id=clock_obj_e_hr_up title=Больше style="CURSOR: hand" src="images/clock_up.gif"><BR><IMG id=clock_obj_e_hr_dn title=Меньше style="CURSOR: hand" src="/images/clock_down.gif"></TD>
<TD noWrap>:</TD>
<TD id=clock_obj_c_mn style="COLOR: #5c5c5c" noWrap val="6" min_val="0" max_val="59">06</TD>
<TD id=clock_obj_e_mn style="DISPLAY: none" noWrap editor="1"><IMG id=clock_obj_e_mn_up title=Больше style="CURSOR: hand" src="/images/clock_up.gif"><BR><IMG id=clock_obj_e_mn_dn title=Меньше style="CURSOR: hand" src="/images/clock_down.gif"></TD>
<TD noWrap>:</TD>
<TD id=clock_obj_c_sc style="COLOR: #5c5c5c" noWrap val="5" min_val="0" max_val="59">05</TD>
<TD id=clock_obj_e_sc style="DISPLAY: none" noWrap editor="1"><IMG id=clock_obj_e_sc_up title=Больше style="CURSOR: hand" src="/images/clock_up.gif"><BR><IMG id=clock_obj_e_sc_dn title=Меньше style="CURSOR: hand" src="/images/clock_down.gif"></TD>
<TD id=clock_obj_c_hd style="DISPLAY: none" noWrap>&nbsp;</TD>
<TD id=clock_obj_c_hd1 style="DISPLAY: none" noWrap>&nbsp;</TD>
<TD id=clock_obj_c_hd2 style="DISPLAY: none" noWrap>&nbsp;</TD>
<TD id=clock_obj_c_hd3 style="DISPLAY: none" noWrap>&nbsp;</TD></TR></TBODY></TABLE></SPAN></TD>
<TD width=5><IMG height=34 src="images/newdesign/bottom_bg3.gif" width=5></TD>
<TD class=tbl-main_chat-btn width=20><A onclick="chatRefreshUsers();return false;" href="#"><IMG id=refresh_btn title="Обновить список игроков в этой локации" height=34 src="images/newdesign/rfr_1.gif" width=20 border=0></A></TD>
<TD width=5><IMG height=34 src="images/newdesign/bottom_bg3.gif" width=5></TD>
<TD class=tbl-main_chat-btn width=27>&nbsp;</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TABLE>
<SCRIPT language=JavaScript>
chatSetButtonHandlers();
chatChangePreset(0);
chatToggleFightlog(chatFightlog);
setInterval("chatTimer()",1000);
</SCRIPT>

.... наверное я вне в том фрайме ковыряюсь :( ..... сообщений так и не нашёл ......
Последний раз редактировалось novichok_07 26.09.2007 (Ср) 14:20, всего редактировалось 1 раз.

novichok_07
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 14.03.2007 (Ср) 6:53

Сообщение novichok_07 » 26.09.2007 (Ср) 14:14

может надо сдесь искать сообщения в виде текста -
Код: Выделить всё
<IFRAME style="WIDTH: 100%; HEIGHT: 100%" name=chat_text src="heap_iframe.php?mode=text"
но вот добраться к IFRAME не получается :(

Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Сообщение Wolfie » 26.09.2007 (Ср) 21:48

может схватить SRC и загрузить его через Navigate отдельно и тогда уже через innerHTML искать?
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _

novichok_07
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 14.03.2007 (Ср) 6:53

Сообщение novichok_07 » 26.09.2007 (Ср) 22:45

при загрузке ...heap_iframe.php?mode=text в отдельном окне и используя innerHTML выдаёт код но текста сообщений так и нет ..... :О((

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 27.09.2007 (Чт) 13:02

Челы, мож я конечно совсем с ума сошёл, но....

1) свойство innertext возвращает текст содержащийся между тегами объекта, но никак не содержимое фрейма.

2) У фрейма есть подчинённое свойство contentwindow в нём есть уже сам Document. У документа есть Body, а уж в нём есть innertext и innerhtml

Помоему вам туда то и надо лезть. :roll:

3) Уж если грузить документы, то я бы предпочёл дёргать данные через XMLHTTP, а потом засовывать в New HtmlDocument

И уже работать с ним.

Так не придётся качать набор картинок с сайта ( конечно только в том случае, если это не требуется )

Если не прав - прошу прощения.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 27.09.2007 (Чт) 18:40

1). Да.
2). Да...
НО на практике выдаётся ошибка, текст которой говорит сам за себя -- Permission Denied, даже при условии, что все файлы лежат в одной папке. А действительно, нельзя ли взять св-во src фрейма и загрузить соответствующую страницу?
Salus populi suprema lex

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 27.09.2007 (Чт) 23:49

2 dr.MIG:
1) А я всё таки ошибся

Код: Выделить всё
Document.frames(N).Document.body.innerHTML


Возвращает тело документа в N фрейме.

2) Хотя contentwindow свойство я когда то юзал для получения содержимого документа из фрейма.

3) А вот с получением содержимого через WebBrowser проблем у меня не возникает. :?: :shock:

Если в VBS-нике или JS-ке в страничке такое творить, то да - защита срабатывает, а так вроде нет :roll:

novichok_07
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 14.03.2007 (Ср) 6:53

Сообщение novichok_07 » 28.09.2007 (Пт) 11:39

или я где то конкретно туплю или просто не могу понять .... никак не получается вытащить сообщения из чата в виде простого текста :( .....
сделал заготовочку, вход в игру через готового перса (просто "зайти в игру" не надо ни логин ни пасс вводить) , форма для обработки тоже подготовленна , если кто может - помогите разобраться .......
Вложения
для форума.zip
(600.85 Кб) Скачиваний: 76

novichok_07
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 14.03.2007 (Ср) 6:53

Сообщение novichok_07 » 29.09.2007 (Сб) 21:14

... ни у кого не получилось или не нашлось пока времени помочь разобраться ? :(

novichok_07
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 14.03.2007 (Ср) 6:53

Сообщение novichok_07 » 02.10.2007 (Вт) 12:03

это оказывается или очень просто, что даже зазорно подсказать и объяснить , либо очень сложно , что гикто тоже не может сделать ...

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 02.10.2007 (Вт) 12:23

novichok_07
Зацени кнопку Изображение иначе - бан.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 41

    TopList