Ja, beim kopieren aus der Browser war das kein Problem
Im geöffneten Firefox eine neue Internetseite laden
-
Faultier_1982 -
31. Mai 2017 um 20:47 -
Erledigt
-
-
Was ist denn dein Script zum einfügen?
-
-
Fügst du die HTML dann ein? Speicher sie mal in eine Datei und prüf ob sie korrekt ist.
Wenn ich in Excel Daten > Aus dem Web importiere (den php-Link), dann dauert das rund 'ne Minute aber es tauchen die Daten anschließend auf. -
Also ich habe deinen php-Link in deinen Code eingefügt, und das Ergebnis dann ich den zwischenspeicher gepackt
das habe ich dann einzufügen. Das hat aber sicher 3-4 Min gedauert.... viel länger, als wenn ich es im Browser kopiere....
Wie soll ich prüfen ob sie korrekt ist? Also die Daten sind alle da... -
Versuch doch mal über die Excel-UDF die Daten einzufügen, eventuell geht es darüber ja schneller.
-
Also mit Excel VBA habe ich es versucht, habe ich aber auch nur über einen Browser geschafft. Meinst du über Excel-VBA den Inhalt direkt ohne Browser laden? Geht das?
-
Mit Excel-VBA habe ich absolut nichts am Hut.
Warum ist es denn so wichtig die Daten überhaupt in Excel zu haben? -
Über Excel speichere ich die Daten in eine Datenbank. Klar kann man das alles auch ändern, aber das brauch Zeit und in der Zeit wird meine Datenlücke immer größer, die ich später mühsam oder gar nicht wieder füllen muss. Deshalb wollte ich erst mal eine schnelle Lösung mit dem Kopieren aus dem Browser. Sie funktioniert unabhängig davon, ob die Seite HTML PHP oder JAVA verwendet. Das wäre glaube ich mit Autoit recht zuverlässig und zügig zu machen und dann kann man sich in ruhe verbesserungen widmen.
-
Versuch doch mal über die Excel-UDF die Daten einzufügen, eventuell geht es darüber ja schneller.
Wie mache ich das?
-
Wie mache ich das?
Na eben mit der Excel-UDF. Kannst ja nach einigen Beispielen googlen wie man sie benutzt. Falls du Fragen zu den Funktionen hast, kannst du immer in die Hilfe/Dokumentation schauen.
-
also über Excel-UDF bekomme ich bis jetzt nur den HTML-Code in eine Zelle. Da in die Zelle nicht so viel Text passt, ist 99% der Abfrage verschwunden....
C. . . #include <Excel.au3> Local $sWorkbook = "A:\test\w Autoit.xlsm" $oWorkbook = _Excel_BookAttach($sWorkbook) _Excel_RangeWrite($oWorkbook, $oWorkbook.Sheets("Tabelle1"), $sSource,"K5")
Ich glaube ich brauche jetzt erst den schnellen Erfolg
Ist es möglich, wenn man den Browser mit WinGetHandle identifiziert hat neue Internetadressen aufzurufen ohne ein neues Registerfenster zu öffnen?CodeShellExecute("firefox.exe", "") Local $Win_Fenster = WinGetHandle("Mozilla Firefox-Startseite - Mozilla Firefox") WinActivate($Win_Fenster) ;lade in geöffnetem Firefox eine Internetseite
Gruß Faultier -
Kannst ja mal mit dem AutoIt Window Info Tool schauen, ob die TextBox für die Adresse dort angezeigt wird.
Ansonsten kannst du dich mit Hotkeys durchnavigieren. Mit F6 solltest du die Leiste fokussiert bekommen, oder du klickst mit der Maus drauf.Du könntest auch einfach firefox direkt mit dem Link starten. Dazu nutzt du einfach Run und packst den Link den du laden möchtest direkt hinter die exe.
Run("firefox.exe " & $sLink) -
Wenn ich nur eine URL habe, kann ich FF so öffnen, wenn ich mehrere URL's habe müsste ich immer ein FF-Fenster schließen und dann mit der neuen Adresse neu öffnen das wollte ich vermeiden.
Deshalb dachte ich, ich könnte vielleicht in den bereits geöffneten ff-Browser einfach eine neue Seite laden.
Ist das nur mit Hotkeys möglich?
-
Ist das nur mit Hotkeys möglich?
Ich habe schon mehrmals vorher die FF.au3 in Kombination mit MozRepl erwähnt.
Wenn Firefox keine Standard-Windows-Controls hat, bezweifle ich, dass du mit den internen AutoIt Funktion weit kommst.
Du könntest ja mit Send und Mausklicks arbeiten aber das ist sehr fehleranfällig. -
Du könntest ja mit Send und Mausklicks arbeiten aber das ist sehr fehleranfällig.
ja das stimmt... vielen Dank. Da ist es wichtig mit WinActivate zu arbeiten
-
Ich vermute, dass der Teil mittels Javascript nachgeladen wird und ich liege auch richtig.
Die Daten befinden sich nämlich in der adjusthis.php.Hallo...
vor einiger Zeit hatte ich das Problem, dass Daten, die ich aus dem Quelltext einer Internetseite auslesen wollte, per Java nachgeladen wurde.
Dadurch waren diese im Quelltext nicht vorhanden und ich konnte sie da dann natürlich auch nicht auslesen.
Damals hat es geheißen, dass man mit dem Netzwerkprotokollierer im Browser die URL auslesen kann, die die Daten beinhaltet.
Da ich das Problem nun wieder bei der gleichen Internet-Seite habe, habe ich den Netzwerkprotokollierer im Browser gesucht aber leider nicht gefunden....
Wie gehe ich da vor oder wo finde ich diesen????
Gruß Faultier
-
Wie gehe ich da vor oder wo finde ich diesen????
F12 drücken.
-
F12 drücken.
ok.... vielen Dank da habe ich jetzt eine URL ermitteln können, die alle Daten beinhaltet.
https://stockcharts.com/freecharts/adjusthist.php?search=
Die Daten sind jedoch in einer Endlostext gefasst, und nur zwischen den Zeilen gibt es ein Leerzeichen, wonach man trennen könnte....
Wie kann man dann die einzelnen Zellen der Zeile trennen? es muss ja irgendwie gehen, da es auf der Internetseite ja auch getrennt wird.
Mir ist es jedoch völlig schleierhaft, wie das gemacht wird....
Auf der Internetseite sieht das nämlich so aus
-
Es sieht für dich nur so aus, ein kleiner Blick in den Quellcode liefert folgende Daten:
HTML
Alles anzeigen<h3>Adjustments:</h3> <tr> <td> <a href="/h-sc/ui?s=ADTN" title="SharpChart"><i class="icon icon-square icon-scc-pos-sq-sharp"></i></a> <a href="/gallery?ADTN" title="Gallery View"><class="icon icon-square icon-scc-pos-sq-gallery"></i></a> <a href="/freecharts/pnf?c=ADTN,p" title="P&F"><i class="icon icon-square icon-scc-pos-sq-pnf"></i></a> <a href="/freecharts/seasonality?symbol=ADTN" title="Seasonality"><i class="icon icon-square icon-scc-pos-sq-season"></i></a> </td> <td>10/30/2018</td> <td>ADTN</td> <td>ADTRAN Inc.</td> <td>0.0900</td> <td>Dividend</td> </tr> <tr> <td> ...
Du hast hier noch nicht einmal Nested-Tags, das heißt du brauchst nur ein RegEx drüber laufen zu lassen und sofern dein Speicher nicht explodiert (wenn du alles parsen möchtest, bei einzelnen Elementen ist das absolut kein Problem), hast du alles was du willst.
-