AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language TWebBrowser neue Seite aufrufen während FOR Schleife
Thema durchsuchen
Ansicht
Themen-Optionen

TWebBrowser neue Seite aufrufen während FOR Schleife

Ein Thema von bumbum94 · begonnen am 9. Jul 2020 · letzter Beitrag vom 9. Jul 2020
Antwort Antwort
bumbum94

Registriert seit: 9. Jul 2020
2 Beiträge
 
#1

TWebBrowser neue Seite aufrufen während FOR Schleife

  Alt 9. Jul 2020, 10:03
Delphi-Version: 10.3 Rio
Guten Morgen und Hallo,

ich Sitz hier an einem kleinen Programm das mir Videolinks automatisch aus htmlQuellCode kopieren soll.

Ein Link pro Seite
Aufbau der URL https://www..../videolink-folge-x/ (x steht für die Nummer der folge)
ich gebe die anzahl der Folgen an

Es wird eine FOR schleife ausgeführt i=1 to anzahl der Folgen
begin
Um den videolink zu erhalten öffnen ich mit TWebBrowser die Seite und hohle mir den HTML Quell Text mit WebBrowser1.OleObject.Document.Body.InnerHtml
diesen Durchforste ich dann nach dem Link kopiere mir den und will auf die nächste Seite navigieren (https://www..../videolink-folge-1/ --> https://www..../videolink-folge-2/)
end

und genau da ist mein Problem.
wie mache ich das das die schleife erst weitergeht wenn er die neue Seite geladen hat
er führt zwar das WebBrowser1.Navigate(url) allerdings lädt er die neue Seite nicht sondern macht einfach mit der alten Seite weiter.

Delphi-Quellcode:
if cbyAnisenpai.Checked then
begin
for I := 1 to StrToInt(Edit2.Text) do
begin
  begin
    slHtml := TStringList.Create;
    try
      slHtml.Add(WebBrowser1.OleObject.Document.Body.InnerHtml);
      pos1:= Pos('https://....sx/',slHtml.Text);
        if pos1 > 0 then
        begin
          pos2:= Pos('"',slHtml.Text,pos1);
          S := Copy(slHtml.Text,pos1,(pos2-pos1));
          WriteLog(s);
        end;

    finally
    slHtml.Free;
    s := WebBrowser1.LocationURL;
    pos1:= Pos('folge',s)+5;
    S := Copy(s,0,pos1 )+IntToStr(i+1)+'-ger-sub/';
    navigate(s);

    end;
  end;
end;

Geändert von Daniel ( 9. Jul 2020 um 10:06 Uhr) Grund: Links gekürzt
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.189 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: TWebBrowser neue Seite aufrufen während FOR Schleife

  Alt 9. Jul 2020, 10:09
Du musst den Quellcode komplett umbauen.
Du bekommst vom Browsercontrol ein Event, welches mitteilt wenn eine Seite geladen ist.
Wenn diese kommt, dann könntest du erst weitermachen mit deiner "Schleife".
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
bumbum94

Registriert seit: 9. Jul 2020
2 Beiträge
 
#3

AW: TWebBrowser neue Seite aufrufen während FOR Schleife

  Alt 9. Jul 2020, 10:20
Welches Event meinst du ? ich verwwende onDocumentComplete aber das wird in dem fall nicht aufgerufen
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz