| 
| 
 | Вопрос # 212/ вопрос закрыт / | 
 |  Здравствуйте!
 Сразу оговорюсь материалы по DOM читал.
 Удавалось нажимать кнопки в Webbrowser обычные и замененные рисунками. Но когда текст HTML скрыт ни один из кодов для нажатия кнопок не срабатывает. Я загружал с сервера страницу текст которой скрыт(в этом случае он был виден), и кнопка нажималась.
 Гуглил, но инфы конкретно по такой проблеме очень мало.
 Может есть какой-нибудь мощный интерфейс для доступа к элементам которому будет плевать виден HTML или нет.
 
 Была идея написать прокси которая будет переписывать Cash control: No-Cash, No-Store  на Cash control: Public. Но это путь в обход и он порождает ряд неудобств(например скрывать присутствие прокси как это умеет делать WebWasher, очищать кеши и врем. папки чтоб страница работала правильно), а хотелось бы решить эту проблему напрямую.
 
|  |   Вопрос задал: QWERYTY (статус: Посетитель)Вопрос отправлен: 27 апреля 2010, 09:48
 Состояние вопроса: закрыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 12; последнее сообщение — 28 апреля 2010, 04:38; участников в обсуждении: 3. 
|   | Вадим К (статус: Академик), 27 апреля 2010, 10:26 [#1]:Не совсем понятно, что такое "хтмл текст скрыт". он либо может быть, либо нет, либо генерироваться динамически. 
 Но все это с броузером - детские развлечения. Если хочется нормальной работы, нужно отказываться от этого компонента и работать напрямую с помощью idHttp или synapse библиотеки (ну или свои сокеты накодить).
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | QWERYTY (статус: Посетитель), 27 апреля 2010, 11:22 [#2]:Текст скрыт - имеется в виду что когда пытаешся просмотреть HTML-код страници из IE6 то показывается несколько строк, которых явно не достаточно чтоб описать то что я вижу. В Delphi я писал коды чтоб отобразить количество форм или всех элементов, они работали но как дело доходит до страниц где HTML не виден то и количество элементов не отображается.
 Например я извлекаю количество элементов на страницах показания достигают 500, соответственно когда HTML не виден то показания колеблятся в пределах 10.
 
 Вопросс в том можно ли добраться до конкретного элемента в Webbrowser когда HTML-код страници не виден, и как это делается?
 ВЕРИТЬ ВО ВНЕЗЕМНЫЕ ЦИВИЛИЗАЦИИ НЕ ОЗНАЧАЕТ ВЕРИТЬ В ИНОПЛАНЕТЯН. |  
|   | Вадим К (статус: Академик), 27 апреля 2010, 11:29 [#3]:так, напряжем телепатию. А не было ли на тех страницах фреймов к примеру? может приведёте примеры подобных страниц, которые вызывают проблемы? 
 Также вполне возможно, что там обычный ajax.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | QWERYTY (статус: Посетитель), 27 апреля 2010, 11:34 [#4]:Страница генерируется динамически, но это ведь не означает что к её элементам нельзя получить доступ? ВЕРИТЬ ВО ВНЕЗЕМНЫЕ ЦИВИЛИЗАЦИИ НЕ ОЗНАЧАЕТ ВЕРИТЬ В ИНОПЛАНЕТЯН. |  
|   | Вадим К (статус: Академик), 27 апреля 2010, 11:36 [#5]:если глаз видит страницу, то и код может получить доступ. Единственное, что может вызвать некие проблемы - это если страница отображается одной картинкой. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | QWERYTY (статус: Посетитель), 27 апреля 2010, 11:47 [#6]:Страници порождает PHP и видимо он же указывает что cash control в этот момент должен быть no-cash, no store. Эта информация была полученна снифером(Wireshark), так же с помощью этого же снифера была получена информация о том что когда HTML виден(и всё прекрасно работает, кнопки нажимаются) cash control установлен как public.
 
 Надеюсь прояснил тело проблемы.
 ВЕРИТЬ ВО ВНЕЗЕМНЫЕ ЦИВИЛИЗАЦИИ НЕ ОЗНАЧАЕТ ВЕРИТЬ В ИНОПЛАНЕТЯН. |  
|   | Вадим К (статус: Академик), 27 апреля 2010, 11:50 [#7]:м, странное что то говорите. если страница отображается, то к ней можно получить доступ. и все равно, как установлено кеширование и подобное. 
 Чувствую, что то не договариваете.
 
 Имя сайта в студию, с которым проблемы.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | QWERYTY (статус: Посетитель), 27 апреля 2010, 11:55 [#8]:НЕТ НЕ КАРТИНКОЙ. Я уже писал что сохранил этот фрейм(как я понял страница не из одного фрейма) с сервера к себе на диск, и когда я его запускаю с диска HTML-код виден и он достаточно большой(не проверял но похоже на то что этим текстом можно описать то что я вижу).
 ВЕРИТЬ ВО ВНЕЗЕМНЫЕ ЦИВИЛИЗАЦИИ НЕ ОЗНАЧАЕТ ВЕРИТЬ В ИНОПЛАНЕТЯН. |  
|   | Вадим К (статус: Академик), 27 апреля 2010, 12:01 [#9]:Если не картинка, то все можно. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | QWERYTY (статус: Посетитель), 27 апреля 2010, 12:09 [#10]:Cash control: no-cash, no-store как видно из снифера установленно на уровне HTTP. И видимо это и есть инструкция к тому что не нужно куда либо кешировать и сохранять то что передаётся в браузер. Создаётся впечатление что вот этот код:
 
 var
 v:OleVariant;
 i: integer;
 begin
 v := Webbrowser1.Oleobject.Document.Forms.Item(0).Elements;
 for i := 0 to (v.Length - 1) do
 if (CompareText(v.Item(i).TagName,'INPUT') = 0)and
 (CompareText(v.Item(i).Type,'submit') = 0)
 then v.Item(i).Click;
 end;
 
 проводит поиск не в том что загруженно в данный момент в браузер, а гдето хрен пойми где.
 ВЕРИТЬ ВО ВНЕЗЕМНЫЕ ЦИВИЛИЗАЦИИ НЕ ОЗНАЧАЕТ ВЕРИТЬ В ИНОПЛАНЕТЯН. |  
|   | Вадим К (статус: Академик), 27 апреля 2010, 12:19 [#11]:Так, замечание раз - ругательства в последней строке. Замечание два. сами же написали, что на странице есть фреймы. а по коду - никакого анализа фреймов. И что же Вы хотите?
 И третье, на мои вопросы вы не отвечаете, просто игнорируете, но свои необоснованные убеждения гнете стабильно.
 Учитывая первое и третье, я лучше отстранюсь от ведения данного треда, так как при такой активности с Вашей стороны мы будем ещё пару лет обсуждать.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Егор (статус: 10-ый класс), 28 апреля 2010, 04:38 [#12]:1. прокси здесь не при чём. 2. всё же хочется услышать ответы на вопросы Вадима, ибо непонятно ничего.
 Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  30 мая 2011, 03:13: Вопрос закрыт (решение принял автор вопроса — QWERYTY): Закрыт и всё. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |