|
Вопрос # 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): Закрыт и всё.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|