Div Class / Css Button anklicken per IE.au3

03/29/2013 04:22 xpsony#1
Hallo erstmal , ich bin neu hier :)

Gleich zu meiner ersten Frage :
Ich beschäftige mich derzeit mit der IE.au3. Klappt auch alles
bis auf das Klicken des bösen Buttons der sich nicht ansprechen /Drücken lassen will :( (addmefast.com ), sämtliche Versuche haben nichts genützt , per Pixel und Maus will ich nicht , das ist mir "unsauber " gelöst .

Bild : Des Buttons und des Quellcode :
[Only registered and activated users can see links. Click Here To Register...]

Und hier nochmal die Button Klasse :
<div class="btn3">Subscribe</div>

Folgende Methoden sind schon von mir angewandt wurden :
- per _IELinkClickByText auch schon mit Filter ( ,1,2,3 )
- per _IELinkClickByobjname
- per _IELinkClickById
- per __IEImgClick - es ist mir erst später aufgefallen , das der Button nicht als Bild vorliegt
- Ein paar mehr die gingen leider auch nicht :(

Ich hoffe jemand weiß Rat :) bzw. wenn ich ausgeschlafen bin selbst drauf komme :D
03/30/2013 00:10 .AppleTree.#2
Wilkommen erst einmal :)

Es würde helfen wenn wir deinen momentanen Code sehen könnten (jedenfalls den relevanten Teil), ich suche inzwischen mal was. . .

€:
Code:
$url = "openFbWin_136469();"
_IENavigate ($oIE, $url)
_IENavigate kann auch eine javascript Funktion aufrufen, falls diese von Seite zu Seite variieren sollte musst du sie eben erst auslesen.

In dem fall war es ... <a class="single_like_button btn-wrap" onclick="openFbWin_136469();"> ...

PS: Wir haben hier auch ein eigenes Forum für Autoit: [Only registered and activated users can see links. Click Here To Register...]
03/31/2013 00:03 xpsony#3
Vielen Dank , das , mit den openFbWin_XXXXXX ist mir auch aufgefallen , er hat leider jedes mal eine neue Nummer / ID , mir ist es bis jetzt leider nicht gelungen diesen auszulesen (nur mit Chrome) , Jetzt habe ich aber heraus gefunden , das der Button , teilweise doch mit dem Bild ansprechbar ist , allerdings letzt sich dieses nicht mit _IEImgClick ansprechen . Den Code würde ja posten , allerdings besteht der zu Zeit nur aus :
Code:
#include<IE.au3>
Dim $button2
$name="XXX"
$passwort="XXX"
$oIE=_IECreate("http://addmefast.com")
    Global $color
    Global $pos
Dim $Sub


$oForm = _IEFormGetCollection($oIE,0)
 ;   $oUsername = _IEFormElementGetObjByname($oForm,"email")
 ;   $oPassword = _IEFormElementGetObjByName($oForm,"password")
 ;    _IEFormElementSetValue ($oUsername,$name)
	Sleep (1000)
_IEFormElementSetValue ($oPassword,$passwort)
	Sleep (1000)

_IELinkClickByText ( $oIE, "YouTube Subscribe ")
	Sleep (5000)


;        While 1
 ;                $pos = PixelSearch(718,403,1188,739,10411338,6)
  ;              If isArray($pos) then
   ;                     MouseMove($pos[0],$pos[1],0)
    ;                    MouseClick("Right")
Sleep (6000)

;$Sub = _IETagNameGetCollection($oIE, "span")
 ;       For $e In $Sub
  ;       If $e.innerHTML = "Abonnieren" Then _IEACTION($e, "Click");

Next
;$key = InputBox("Test","SES. Key eintippen")
;$url = "javascript:openFbWin_$key();"
;_IENavigate ($oIE, $url)

Exit
EndIf
Wend
Exit
Irgendeiner , eine Idee , wie ich die class ansprechen kann ? , bzw. das Image
ohne Pixel Finder , etc ?
03/31/2013 20:16 .AppleTree.#4
Wenn die class immer dieselbe ist, dann kannst du damit arbeiten:

Code:
$html = _IEBodyReadHTML($oIE) ; liest den HTML Code ein
$url = _StringBetween($html, '<div class ="single_like_button btn3-wrap" onclick="', '">') ; Sucht die javascript Funktion
_IENavigate($oIE, $url) ; Simuliert einen Klick auf den Button
Tipp: Kommentiere deinen Code und drück mal CTRL+T