wie geht man vor, wenn man auf einer webseite nach einem string sucht?
z.b. verbinde ich mich mit _FFStart zu google und will jetzt nach "Datenschutz" suchen.
Webseite nach einem String durchsuchen
-
- [ gelöst ]
-
tomAtik -
1. März 2011 um 21:51 -
Geschlossen -
Erledigt
-
-
Es geht über die InetRead()-Funktion.
[autoit]
[/autoit]
$inhalt = InetRead("www.google.de")Dann hast Du in $inhalt den Inhalt der Seite im Binärformat.
Ob es über die _FF-Funktionen auch geht, kann ich dir leider nicht sagen. -
Wie schon gesagt wurde gehts über InetRead oder aber _INetGetSource (was im Prinzip auch nix anderes ist^^ )
Im Beispiel von DICE muss es natürlich auch InetGet heißen sonst funktionierts nicht^^
-
Stimmt, da hab ich einen Fehler gemacht, aber es geht über beide Funktionen:
- InetRead lädt die Datei/Seite herunter und liest sie ein, weshalb ich über $inhalt = InetRead() den Inhalt direkt in eine Variable einlesen kann.
- InetGet hingegen lädt die Datei nur herunter. Außerdem muss ich hier den Download abwarten(wenn ich die komplette Datei durchsuchen will) und muss dann die Datei separat auslesen.
Ich dachte zuerst an InetGet, dann fiel mir aber wieder InetRead ein, deshalb der Funktions-Dreher.
-
Vielen Dank !
-
Hallo tomAtik,
herzlich willkommen im Forum und viel Spass mit AutoIt.
Hier kannst du dir die deutsche Hilfe herunterladen.
Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebeeLinks zur FireFox-Atomation:
- Mozrepl wird dafür benötigt, kannst du von hier installieren: http://wiki.github.com/bard/mozrepl/
- FF.au3 herunterladen
- Mozrepl über Extras|Mozrepl im Firefox starten
- Funktionsrefernz findest du hier
- Zum testen Skript starten: [autoit]#Include <FF.au3>
_FFStart("http://www.autoit.de", Default, 2)
If _FFIsConnected() Then
If _FFLoadWait() Then MsgBox(64, "", "Page was loaded in " & @extended & "ms")Sleep(3000)
[/autoit]
;_FFQuit() ;FireFox schliessen
EndIf
- Eine Tutorial findest du hier [autoit]
- dieser Link Wenn mal was nicht geht ... bitte zuerst hier nachschauen ... enthält auch sehr nützliche Hinweise von [user='200122']Stilgar[/user] (Author von ff.au3)
- [/autoit]
und jetzt zu deiner Frage: das kannst du z.B. so lösen:
Spoiler anzeigen
[autoit]#Include <FFTest.au3> ;neueste Testversion der FF.AU3
[/autoit] [autoit][/autoit] [autoit]
#Include <Array.au3>_FFStart("http://google.com/")
[/autoit]
If _FFIsConnected() Then
$aLinks = _FFLinksGetAll()
_ArrayDisplay($aLinks)
$iDatenschutz = _ArraySearch($aLinks,"Datenschutz",0,0,0,0,0,6)
_FFOpenUrl($aLinks[$iDatenschutz][0])
$sText = _FFReadText()
MsgBox(0,"",$sText)
EndIfmfg autoBert
-
Wenn du die FF.au3 nutzt kannst du auch die Suchfunktion daraus nutzen.
bsp.:
[autoit]#include <ff.au3>
[/autoit]
_ffstart("www.google.de")
If _ffsearch("Datenschutz") Then
MsgBox(0, "Info", "Gefunden")
Else
MsgBox(0, "info", "Nicht gefunden")
EndIf -
Hallo douky,
ich dachte eigentlich er möchte den Text der Seite mit dem Datenschutz. Hier noch ein paar andere Möglichkeiten, ihn zu erhalten (entsprechende Stellen dekommentieren):
Spoiler anzeigen
[autoit]#Include <FFTest.au3> ;neueste Testversion der FF.AU3
[/autoit] [autoit][/autoit] [autoit]
#Include <Array.au3>_FFStart("http://google.com/")
[/autoit]
If _FFIsConnected() Then
#cs Möglichkeit 1
$aLinks = _FFLinksGetAll()
_ArrayDisplay($aLinks)
$iDatenschutz = _ArraySearch($aLinks,"Datenschutz",0,0,0,0,0,6)
_FFOpenUrl($aLinks[$iDatenschutz][0])
_FFOpenUrl($aLinks[$iDatenschutz][0])
#ce
#cs möglichkeit 2 ;dazu must du wissen dass das Wort Privacy im Link enthalten ist
;_FFLinkClick("privacy")
#ce
;Möglichkeit3 die einfachste das Wort Datenschutz ist (ein Teil) des/der sichtbare(n) Link(s)
_FFLinkClick("Datenschutz","text")
$sText = _FFReadText()
MsgBox(0,"",$sText)
EndIfmfg autoBert