Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.07.06;
Скачать: CL | DM;

Вниз

Вызвать 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
15-1387225805
Юрий
2013-12-17 00:30
2014.07.06
С днем рождения ! 17 декабря 2013 вторник


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


2-1378360486
Елена
2013-09-05 09:54
2014.07.06
Курсор в stringgrid


15-1387398603
Юрий
2013-12-19 00:30
2014.07.06
С днем рождения ! 19 декабря 2013 четверг


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