Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 212

/ вопрос закрыт /

Здравствуйте!

Сразу оговорюсь материалы по DOM читал.
Удавалось нажимать кнопки в Webbrowser обычные и замененные рисунками. Но когда текст HTML скрыт ни один из кодов для нажатия кнопок не срабатывает. Я загружал с сервера страницу текст которой скрыт(в этом случае он был виден), и кнопка нажималась.
Гуглил, но инфы конкретно по такой проблеме очень мало.
Может есть какой-нибудь мощный интерфейс для доступа к элементам которому будет плевать виден HTML или нет.

Была идея написать прокси которая будет переписывать Cash control: No-Cash, No-Store на Cash control: Public. Но это путь в обход и он порождает ряд неудобств(например скрывать присутствие прокси как это умеет делать WebWasher, очищать кеши и врем. папки чтоб страница работала правильно), а хотелось бы решить эту проблему напрямую.

QWERYTY Вопрос закрыт (ответы не принимаются, мини-форум закрыт)

Вопрос задал: QWERYTY (статус: Посетитель)
Вопрос отправлен: 27 апреля 2010, 09:48
Состояние вопроса: закрыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 12; последнее сообщение — 28 апреля 2010, 04:38; участников в обсуждении: 3.
Вадим К

Вадим К (статус: Академик), 27 апреля 2010, 10:26 [#1]:

Не совсем понятно, что такое "хтмл текст скрыт". он либо может быть, либо нет, либо генерироваться динамически.

Но все это с броузером - детские развлечения. Если хочется нормальной работы, нужно отказываться от этого компонента и работать напрямую с помощью idHttp или synapse библиотеки (ну или свои сокеты накодить).
Галочка "подтверждения прочтения" - вселенское зло.
QWERYTY

QWERYTY (статус: Посетитель), 27 апреля 2010, 11:22 [#2]:

Текст скрыт - имеется в виду что когда пытаешся просмотреть HTML-код страници из IE6 то показывается несколько строк, которых явно не достаточно чтоб описать то что я вижу.
В Delphi я писал коды чтоб отобразить количество форм или всех элементов, они работали но как дело доходит до страниц где HTML не виден то и количество элементов не отображается.
Например я извлекаю количество элементов на страницах показания достигают 500, соответственно когда HTML не виден то показания колеблятся в пределах 10.

Вопросс в том можно ли добраться до конкретного элемента в Webbrowser когда HTML-код страници не виден, и как это делается?
ВЕРИТЬ ВО ВНЕЗЕМНЫЕ ЦИВИЛИЗАЦИИ НЕ ОЗНАЧАЕТ ВЕРИТЬ В ИНОПЛАНЕТЯН.
Вадим К

Вадим К (статус: Академик), 27 апреля 2010, 11:29 [#3]:

так, напряжем телепатию. А не было ли на тех страницах фреймов к примеру? может приведёте примеры подобных страниц, которые вызывают проблемы?

Также вполне возможно, что там обычный ajax.
Галочка "подтверждения прочтения" - вселенское зло.
QWERYTY

QWERYTY (статус: Посетитель), 27 апреля 2010, 11:34 [#4]:

Страница генерируется динамически, но это ведь не означает что к её элементам нельзя получить доступ?
ВЕРИТЬ ВО ВНЕЗЕМНЫЕ ЦИВИЛИЗАЦИИ НЕ ОЗНАЧАЕТ ВЕРИТЬ В ИНОПЛАНЕТЯН.
Вадим К

Вадим К (статус: Академик), 27 апреля 2010, 11:36 [#5]:

если глаз видит страницу, то и код может получить доступ. Единственное, что может вызвать некие проблемы - это если страница отображается одной картинкой.
Галочка "подтверждения прочтения" - вселенское зло.
QWERYTY

QWERYTY (статус: Посетитель), 27 апреля 2010, 11:47 [#6]:

Страници порождает PHP и видимо он же указывает что cash control в этот момент должен быть no-cash, no store.
Эта информация была полученна снифером(Wireshark), так же с помощью этого же снифера была получена информация о том что когда HTML виден(и всё прекрасно работает, кнопки нажимаются) cash control установлен как public.

Надеюсь прояснил тело проблемы.
ВЕРИТЬ ВО ВНЕЗЕМНЫЕ ЦИВИЛИЗАЦИИ НЕ ОЗНАЧАЕТ ВЕРИТЬ В ИНОПЛАНЕТЯН.
Вадим К

Вадим К (статус: Академик), 27 апреля 2010, 11:50 [#7]:

м, странное что то говорите. если страница отображается, то к ней можно получить доступ. и все равно, как установлено кеширование и подобное.

Чувствую, что то не договариваете.

Имя сайта в студию, с которым проблемы.
Галочка "подтверждения прочтения" - вселенское зло.
QWERYTY

QWERYTY (статус: Посетитель), 27 апреля 2010, 11:55 [#8]:

НЕТ НЕ КАРТИНКОЙ.
Я уже писал что сохранил этот фрейм(как я понял страница не из одного фрейма) с сервера к себе на диск, и когда я его запускаю с диска HTML-код виден и он достаточно большой(не проверял но похоже на то что этим текстом можно описать то что я вижу).
ВЕРИТЬ ВО ВНЕЗЕМНЫЕ ЦИВИЛИЗАЦИИ НЕ ОЗНАЧАЕТ ВЕРИТЬ В ИНОПЛАНЕТЯН.
Вадим К

Вадим К (статус: Академик), 27 апреля 2010, 12:01 [#9]:

Если не картинка, то все можно.
Галочка "подтверждения прочтения" - вселенское зло.
QWERYTY

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): Закрыт и всё.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 27 марта 2023, 07:57
Выполнено за 0.02 сек.
Рейтинг@Mail.ru