|
|
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
К сожалению, первую тему www.sql.ru/forum/1229066/chromium-cef3 зафлудили. Ладно, оставим её, как флудильню. Любит наш народ ))) В общем, вопрос такой. Как правильно получить в отдельном потоке внутренний HTML код станиц в цикле? Т.е. примерно так: - загружаем первую страницу по первой ссылке; - ждём пока загрузится; - получаем внутренний HTML; - из HTML получаем нужные ссылки; - в цикле по этим ссылкам нужно получить другие страницы. Всё в синхронном режиме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 13:30 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
Ты забыл про скрипты написать. Если страница статическая - то ты её просто скачиваешь любой файло-качалкой и браузер тут не нужен вообще. А вот если с сервера приходит какая-то заготовка и только потом страничка сама начинает создавать себя уже на клиенте, то какой-нибудь TJvURLGrabber уже впрямую не применим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 13:40 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
Нет. Там почти голая страница + javascript и куча запросов к серверу Я уже писал. Я не хочу изучать javascript, анализировать исходный код страниц. Не хочу изобретать велосипед. Мне нужно лишь получать готовый HTML в синхронном режиме в цикле по ссылкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 13:54 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
X11Нет. Там почти голая страница + javascript и куча запросов к серверу Я уже писал. Я не хочу изучать javascript, анализировать исходный код страниц. Не хочу изобретать велосипед. Мне нужно лишь получать готовый HTML в синхронном режиме в цикле по ссылкам. подозреваю, что dcef, как и IE, не поддерживает синхронный режим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 14:03 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
defecatorподозреваю, что dcef, как и IE, не поддерживает синхронный режим. возможно, но там есть CefSingleProcess : boolean ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 14:12 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
X11, так а что мешает работать по схеме navigate - oncomplete? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 14:14 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
X11defecatorподозреваю, что dcef, как и IE, не поддерживает синхронный режим. возможно, но там есть CefSingleProcess : boolean Скорее, это похоже на то, что движок не будет создавать доп. процессы, а всё будет в одном. И это не говорит за синхронность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 14:18 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
Barmaley57X11, так а что мешает работать по схеме navigate - oncomplete? пытаюсь её использовать, но пока не знаю, как правильней нужно же как-то "ждать" к примеру, есть 50 ссылок, которые нужно скачать каждую по очереди, а не как получится см. 1ое сообщение: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 14:24 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
X11нужно же как-то "ждать"ну так флагом. Как же еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 14:25 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
X11к примеру, есть 50 ссылок, которые нужно скачать каждую по очереди, а не как получится Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 14:42 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
и к серверу будет сразу 50 обращений - так нельзя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 15:07 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
X11и к серверу будет сразу 50 обращений - так нельзяпочему сразу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 15:35 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
но ссылки же надо в цикле выполнить, по очереди, т.е. не загружать вторую, пока первая не загрузится полностью и из неё нельзя будет извлечь и обработать html а если запустить цикл Код: pascal 1. 2. то цикл запустит первую ссылку, а не дожидаясь её загрузки, сразу начнёт загружать вторую, и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 15:45 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
X11и к серверу будет сразу 50 обращенийС какого перепугу? X11но ссылки же надо в цикле выполнить, по очереди, т.е. не загружать вторую, пока первая не загрузится полностью и из неё нельзя будет извлечь и обработать htmlНу и где здесь 19617576 нарушается это условие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 15:52 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
X11, так Vasilisk же привел тебе пример кода. Где там "сразу"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 15:52 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
уже плохо к вечеру соображаю %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 15:58 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
TChromium не хочет работать без окна в потоке :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 19:28 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
X11TChromium не хочет работать без окна в потоке :(AllocateWnd + MessageQueue ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 12:06 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
Мало того, TChromium при Load создаёт ещё три окна зачем-то. Я пока остановлюсь на TWebBrowser. TWebBrowser в потоке не чудовищно себя ведёт. http://stackoverflow.com/questions/23181286/how-to-initialize-chromium-embedded-framework-3-in-another-thread Because DCEF3 has this absolutely stupid multi process architecture. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 12:20 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_X11к примеру, есть 50 ссылок, которые нужно скачать каждую по очереди, а не как получится Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. сделаю несколько процедур OnComplete и буду по очереди подключать, т.к. скачивать приходится разное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 14:16 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
X11, задача, которую ты пытаешься сделать не такая простая, как кажется. стабильно отловить конец загрузки + рендер, да еще и в доп потоке - не так просто. но - пробуй, расскажешь ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:18 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
да, в потоке веб браузер без окна работать не хочет изучаю http://prog-example.ru/twebbrowser/nevidimyj-brauzer-twebbrowser-v-potoke/ пока затык на строке Command.ResultCallback := @ResultCallback; [dcc32 Error] Variable required ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:26 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
makhaon, Причем задача нерешаемая в принципе. Там на странице динамические запросы запускаются так же асинхронно, и поймать их можно, лишь внедрив свой джаваскрипт к тем событиям или отлавливая определенные изменения в DOMе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:27 |
|
||
|
Chromium cef3 в отдельном потоке
|
|||
|---|---|---|---|
|
#18+
В Delphi XE3 пример откомпилировался, браузер работает в потоке. Пробую адаптировать для своей задачи. Не для пятницы задача ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:30 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39302283&tid=2039234]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 366ms |

| 0 / 0 |
