hey, bin etwas am verzweifeln.
Ich kann zwar durch die Frames schalten, und weitere Elemente auf den Frames suchen.
Aber wie erfahre ich auf welchem Frame ich mich grade befinde?
Code
Global $aFrames[0]
$aFrames= _WD_FrameList($oSession, True , 5000 )
_ArrayDisplay($aFrames);liste
Code
func test(byref sSession, $sXpath)
Local $btn
Local $frameCount = _WD_GetFrameCount($sSession)
If $frameCount > 0 Then
For $i = 0 To $frameCount - 1 Step 1
_WD_FrameEnter($sSession, $i) ; hier betritt er die Frames,
$btn = _WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, $sXpath, 0, 150)
If StringLen($btn) > 0 Then
_WD_ElementAction($sSession, $btn, 'click')
_WD_LoadWait($sSession, 5000, 10000)
ExitLoop
ElseIf $frameCount = 0 Then
$btn = _WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, $sXpath, 0, 5000)
_WD_ElementAction($sSession, $btn, 'click')
EndIf
Next
MsgBox(0, '0', NULL)
_WD_FrameEnter($sSession, Null); <-- ich habe keine Ahnung ob das richtig ist, ich wollte wieder auf den Standard Frame zurück.
EndIf
endfunc
Alles anzeigen