![]() |
Delphi-Version: 7
Webbrowser Scroll- Problem
Hi
Ich versuche einen einfachen E-Mail Creator zu erstellen, leider hänge ich fest. Ich kann auf dieser Seite h**ps://signup.live.com/signup.aspx?wa=wsignin1.0&lic=1 nicht scrollen. Normalleerweise geht es recht einfach WebBrowser1.OleObject.Document.ParentWindow.Scroll By(0, + Y); WebBrowser1.OleObject.Document.ParentWindow.Scroll By(+ X, 0); Bei live.com aber kriege ich es nicht hin. Sufu habe ich reichlich benutzt und auch googeln ist mir nicht fremd. Frames kann ich auf der Seite auch nicht erkennen. Ich werde versuchen nach dem Captcha zu suchen, das ist aber nicht mein Problem, ich möchte gerne wissen warum ich nicht scrollen kann. Nach dem Motto, der Weg ist das Ziel. Wäre für Eure Tipps sehr dankbar. |
AW: Webbrowser Scroll- Problem
Hallo,
per JavaScript (habe mir das nicht im Einzelnen angesehen) wird die Seite wohl soweit gerendert, dass es mit ScrollBy nicht mehr funktioniert. Mit JavaScript wird ein DIV-Container (id="c_base") erzeugt, der dann das Formular enthält. Du kannst mal folgendes versuchen:
Delphi-Quellcode:
Funktioniert natürlich nur solange der Container über die id c_base referenziert werden kann.
procedure TForm1.ScrollBy (const DeltaX, DeltaY: Integer);
var d : IHTMLDocument3; e : IHTMLElement; c : IHTMLElement2; begin if not Assigned (WebBrowser1.Document) then Exit; d := WebBrowser1.Document as IHTMLDocument3; if not Assigned (d) then Exit; e := d.getElementById ('c_base'); if Assigned (e) then begin c := e as IHTMLElement2; if Assigned (c) then begin c.scrollTop := c.scrollTop + DeltaY; c.scrollLeft := c.scrollLeft + DeltaX end; Exit end; WebBrowser1.OleObject.Document.ParentWindow.ScrollBy (DeltaX, DeltaY) end; procedure TForm1.Button2Click(Sender: TObject); begin ScrollBy (0, 50) end; Gruß |
AW: Webbrowser Scroll- Problem
Danke dir. Es funktioniert super.
Mein Problem wurde dadurch aber noch nicht gelöst. Der blaue Balken bleibt immer im Vordergrund. Ich habe angenommen das scrollen schiebt das Ganze nach unten. Leider bleibt mein Element "c_cb0" die ganze Zeit im Vordergrund und sperrt mir die Sicht. Ich kann es auf eine unsaubere Art umgehen, indem ich mein Fenster erweitere, Screen erfasse und dann entsprechend abschneide. Das möchte ich aber nach Möglichkeit vermeiden. Kann man Elemente auch ausblenden? (Habe noch nicht danach gegoogelt, mache aber gleich) |
AW: Webbrowser Scroll- Problem
Hallo,
ich weiß nicht ob ich Dich richtig verstanden habe; Du kannst Dir mal folgendes ansehen, um den blauen Balken verschwinden zu lassen:
Delphi-Quellcode:
Gruß
procedure TForm1.Button2Click(Sender: TObject);
var d : IHTMLDocument3; e : IHTMLElement; begin if not Assigned (WebBrowser1.Document) then Exit; d := WebBrowser1.Document as IHTMLDocument3; if not Assigned (d) then Exit; e := d.getElementById ('c_cb0'); if Assigned (e) and Assigned (e.style) then e.style.display := 'none'; e := d.getElementById ('c_base'); if Assigned (e) and Assigned (e.style) then e.style.top := '0px'; end; |
AW: Webbrowser Scroll- Problem
OK, danke dir.
Das funktioniert super. Wenn ich mir das anschaue, scheint es echt easy zu sein, ich habe zu kompliziert gedacht. Unwissenheit ist aber kein vergehen. Danke noch mal. Hast mir super geholfen. |
AW: Webbrowser Scroll- Problem
Hallo,
freut mich geholfen zu haben; aber Dir ist schon bewusst, dass ganze Spaß nur funktioniert, so lange die bei M$ die ids - wie in den Beispielen - beibehalten(?!). Eine, darauf zementierte Anwendung (aber das betrifft Dich vielleicht auch nicht) würde ich jetzt nicht weitergeben. Gurß |
AW: Webbrowser Scroll- Problem
Ich bin mir auch nicht so sicher, dass es vom Betreiber gewünscht ist, dass man automatisiert Adressen dort erstellen kann. Wenn, dann gäbe es dafür eine API mit entsprechender Dokumenatation. Ich hielte es für sauberer, dem Anwender die jeweiligen Signup-Seiten in ihrem Standardbrowser zu öffnen. Diese sind natürlich auch vor Adressänderungen nicht sicher, aber zumindest wäre das der für alle Beteiligten "nette" Weg. Ausser natürlich, es gäbe eine entsprechende API. Vorstellen kann ich mir das jedoch eher nicht, da es Missbrauch ein Türchen öffnen würde.
|
AW: Webbrowser Scroll- Problem
@Volker Z.
Natürlich ist mir das bewusst. @Medium und Volker Z. Ich nicht vor ein Tool für die Masse zu schreiben. Sehr oft braucht man aber eine Mail-Adresse um sich zB. in einem Forum oder Seite anzumelden. Die meisten Seiten sind schon so schlau die Wegwerfadressen zu blockieren. Da sollte mein Tool anspringen. In 2 Klicks eine fertige Adresse erstellen. Ein Mal benutzen, und verfallen lassen. Den Spam den MS nachher auf die Adresse schickt sollen Sie für sich behalten. Ob es nun vom Betreiber gewünscht wird oder nicht...hm... welche Rolle spielt es dabei? Ich wünsche mir auch kein Spam von den Betreibern, trotzdem bekomme ich reichlich was davon. Selbst wenn man Alles in die Wege leitet um es zu blockieren, ganz ohne Werbung geht gar nichts. Nun, sagt der eine oder anderer, die finanzieren sich doch mit Werbung. Den Satz möchte ich nun nicht kommentieren. MS ist nicht gerade am verhungern. Die kriegen nur die Schnauze NIE voll. Also ignoriere ich bewusst die Tatsache dass es nicht erwünscht ist. Ich gebe damit nur das zurück was ich auch bekomme. Man kann natürlich über vieles streiten. Wer seine moralische Grenze nicht überschreiten möchte braucht auch hier nicht zu antworten. Eine Function des Browsers kann man aber auf viele Arten benutzen. Ich hätte mir auch irgend ein Blödsinn als Vorwand einfallen lassen. Warum sollte ich es aber? Eigentlich ging mir nicht mal wirklich um das Tool, sondern um die Möglichkeit es zu machen. Geld ist auch eine gute Sache.Ich kann damit mein Essen aber auch Drogen oder gar Waffen kaufen. Wird das Geld dadurch automatisch schlecht? Noch mal danke an Alle beteiligten. |
AW: Webbrowser Scroll- Problem
Hallo,
Zitat:
Zitat:
Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz