Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.07.06;
Скачать: [xml.tar.bz2];

Вниз

Вызвать webbrowser.onDocumentComplete из timer?   Найти похожие ветки 

 
Den   (2013-09-06 07:17) [0]

как? пример можно?


 
brother ©   (2013-09-06 07:41) [1]

зачем хотеть странного?


 
Den   (2013-09-06 07:50) [2]

Задолбался, была страничкаб парсил ее себе, тут хозяева решили что харе мне ее парсить и добавили iframe туда и вот все нормальные люди ночью спят а я мудохаюсь с этим всем, еслиб фрейм был один все ок а то он еще и не один и постоянно меняется местами id тоже динамический и это ладно но эта паскуда подгружается чуть позже основной страницы поэтому нужен таймер был чтоб проверять если элемента нет то ждем немного и так пока не дождемся. По итогу вынес все что было в WebBrowser2DocumentComplete в процедуру tform1.EbaniiDocCompleteCtobVizvatNadoPRchitatSuka20TomovHyevogoDermaPoetomProce dyra; ее вызываю из браузера и из таймера и все пока работает,,,, пока,,, пока блин у кгото руки опять не зачушутся что-то менять падла.


 
brother ©   (2013-09-06 08:09) [3]

> но эта паскуда подгружается чуть позже основной страницы

это как?


 
Den   (2013-09-06 08:12) [4]

ну просто очень вы никогда не видели несколько событий onDocumentComplete на одной странице?


 
stas ©   (2013-09-06 12:01) [5]

Я как то с этим пытался бороться в итоге получилось вот так:

   browser.Navigate(url);
   while browser.Busy=true do begin sleep(10); if fstopped then exit; end;
   While browser.ReadyState <> READYSTATE_COMPLETE do begin  sleep(10);if fstopped then exit; end;
   While not fcompleet do begin sleep(10);    if fstopped then exit; end;

....

procedure TfmBrowser.browserBeforeNavigate2(Sender: TObject;
 const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
 Headers: OleVariant; var Cancel: WordBool);
begin
   fcompleet:=false;
end;


Может быть есть более красивые решения, но я так и не нашел.


 
stas ©   (2013-09-06 12:27) [6]

procedure TfmBrowser.browserDocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
begin
 fcompleet:=true;
end;



> но эта паскуда подгружается чуть позже основной страницы


Просто WebBrowser2DocumentComplete, срабатывает на каждый фрейм.


 
RWolf ©   (2013-09-06 13:38) [7]

почему бы не загружать фрейм отдельно?
можно было бы даже без TWebBrowser обойтись.


 
Den   (2013-09-07 00:11) [8]

почему бы не загружать фрейм отдельно?
можно было бы даже без TWebBrowser обойтись. - можно, но уже сделал на IE, работает и фиг с ним, в следующий раз попробую без IE сделать.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2014.07.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
15-1387016736
картман
2013-12-14 14:25
2014.07.06
батарейка


15-1387349417
DevilDevil
2013-12-18 10:50
2014.07.06
Россия. Доходы. Цифры


15-1387485002
Юрий
2013-12-20 00:30
2014.07.06
С днем рождения ! 20 декабря 2013 пятница


2-1378390770
DZM
2013-09-05 18:19
2014.07.06
проверка изменения значения поля


2-1378443004
shura
2013-09-06 08:50
2014.07.06
Перевести char





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский