Post by manbat42 » 14 Dec 2017, 16:39
Olá Gio
Ainda não funcionou. Tenho andado a fazer pesquisas na net e ao utilizar uma ferramenta do iWB2_Learner encontrei a árvore do elemento que pretendo aceder e alterar. Envio imagem.
A parte do código em que tenho problemas é esta:
_________________________________________________________________________________________
TratamentoDocumento:
pwb.document.all.tags("A")[41].Click()
Sleep 100
While ( Pwb.Busy || Pwb.ReadyState != 4 ) ; Waits for the webpage to finish loading
Sleep 10
WinWait, Workplace: Processador de passos,
IfWinNotActive, Workplace: Processador de passos, , WinActivate, Workplace: Processador de passos,
WinWaitActive, Workplace: Processador de passos,
WinMaximize, Workplace: Processador de passos
Sleep 100
While pwb.readyState != 4 || pwb.document.readyState != "complete" || pwb.busy ; wait for the page to load
Sleep, 10
pwb := IEGET()
pwb.visible := true
While pwb.readyState != 4 || pwb.document.readyState != "complete" || pwb.busy ; wait for the page to load
Sleep, 10
tamanho := pwb.document.frames.length
MsgBox % tamanho ;Aqui recebo a indicação de que são três os frame
; Até este passo, funciona perfeito. Apenas não consigo aceder os elementos aqui elencados...
;pwb.document.all.STEP_RESPONSES[5].setAttribute("selected", "selected") ; E essa linha finalmente é a que seleciona a quarta entrada na DropDown. Mude o número para selecionar outra. Veja que a página já deve estar totalmente carregada quando esta linha for chamada (o que foi garantido com o while acima).
;pwb.document.all.STEP_COMMENT.value := "Este texto foi escrito pelo script." ; Essa linha é a responsável por escrever o texto na caixa. Veja que ela também requer que a página esteja totalmente carregada antes de ser executada.
Pwb.document.forms[0].getElementsByName("STEP_RESPONSES")[0].value := 5 ;As duas linhas de código acima, não funcionam. Esta linhya não dá erro, mas não tem qualquer efeito. Se alterar Forms por Frames, não dánada. Não consigo descobrir mais nada...
;pwb.document.getElementsByTagName("TEXTAREA")[0].value := "Resposta recolhida no SIPE"
MsgBox % "Valeu?" ;Apenas para parar o script...
WinKill, Área de Trabalho
WinKill, Workplace: Processador de passos
ExitApp
______________________________________________________________________
- Attachments
-
- GPS_Arquivo.ahk
- (7.5 KiB) Downloaded 214 times
-
- Accessing SELECT.png (231.78 KiB) Viewed 5627 times
Olá Gio
Ainda não funcionou. Tenho andado a fazer pesquisas na net e ao utilizar uma ferramenta do iWB2_Learner encontrei a árvore do elemento que pretendo aceder e alterar. Envio imagem.
A parte do código em que tenho problemas é esta:
_________________________________________________________________________________________
TratamentoDocumento:
pwb.document.all.tags("A")[41].Click()
Sleep 100
While ( Pwb.Busy || Pwb.ReadyState != 4 ) ; Waits for the webpage to finish loading
Sleep 10
WinWait, Workplace: Processador de passos,
IfWinNotActive, Workplace: Processador de passos, , WinActivate, Workplace: Processador de passos,
WinWaitActive, Workplace: Processador de passos,
WinMaximize, Workplace: Processador de passos
Sleep 100
While pwb.readyState != 4 || pwb.document.readyState != "complete" || pwb.busy ; wait for the page to load
Sleep, 10
pwb := IEGET()
pwb.visible := true
While pwb.readyState != 4 || pwb.document.readyState != "complete" || pwb.busy ; wait for the page to load
Sleep, 10
tamanho := pwb.document.frames.length
MsgBox % tamanho ;Aqui recebo a indicação de que são três os frame
; Até este passo, funciona perfeito. Apenas não consigo aceder os elementos aqui elencados...
;pwb.document.all.STEP_RESPONSES[5].setAttribute("selected", "selected") ; E essa linha finalmente é a que seleciona a quarta entrada na DropDown. Mude o número para selecionar outra. Veja que a página já deve estar totalmente carregada quando esta linha for chamada (o que foi garantido com o while acima).
;pwb.document.all.STEP_COMMENT.value := "Este texto foi escrito pelo script." ; Essa linha é a responsável por escrever o texto na caixa. Veja que ela também requer que a página esteja totalmente carregada antes de ser executada.
Pwb.document.forms[0].getElementsByName("STEP_RESPONSES")[0].value := 5 ;As duas linhas de código acima, não funcionam. Esta linhya não dá erro, mas não tem qualquer efeito. Se alterar Forms por Frames, não dánada. Não consigo descobrir mais nada...
;pwb.document.getElementsByTagName("TEXTAREA")[0].value := "Resposta recolhida no SIPE"
MsgBox % "Valeu?" ;Apenas para parar o script...
WinKill, Área de Trabalho
WinKill, Workplace: Processador de passos
ExitApp
______________________________________________________________________