10

Sto cercando di utilizzare MSAA (su Win7) per ottenere la barra degli indirizzi nel browser Chrome e sostituirla con un URL diverso. Quando Chrome viene avviato normalmente (come utente connesso), sono in grado di trovare la barra degli indirizzi utilizzando l'interfaccia IAccessible attraversando l'albero dell'interfaccia utente delle classi di finestre di proprietà del processo. Tuttavia, se lancio Chrome come utente diverso (utilizzando RunAs in Windows), vedo la finestra con il nome "finestra legacy chrome" quando si passano attraverso le classi di proprietà del processo "RunAs". La gerarchia delle finestre e il contenuto all'interno sono molto diversi da quelli che vedo se eseguo la scansione del processo in esecuzione come utente connesso."Chrome legacy Window" all'avvio di Chrome con RunAs

Anche se posso vedere (finestra nomi di classe) Chrome_WidgetWin_0 & Chrome_WidgetWin_1 in entrambe le istanze del browser, solo quella in esecuzione come utente corrente sta dando accesso alla barra degli indirizzi. Qualche idea su cosa sta succedendo quando Chrome viene lanciato come utente diverso? C'è qualche soluzione alternativa o dovrei essere in cerca di una tecnologia diversa?

risposta

4

Ho scoperto che se un file PDF è aperto nel chrome viewer (in alcune versioni di chrome) viene visualizzata la finestra a cui si fa riferimento. Si prega di confermare quale URL viene utilizzato quando si apre Chrome.

Ho anche letto che un prompt di richiesta password può causare l'apertura della stessa finestra. La finestra PDF viene visualizzata solo se la finestra viene avviata da determinati processi/utenti

2

Come Penn ha notato, questo potrebbe avere qualcosa a che fare con la visualizzazione PDF che ha causato problemi particolari nei luoghi più strani.

Guardando il bug tracker here sembra un comportamento sporadico con i PDF e la "finestra legacy" è stata introdotta in una build recente, quindi forse provare a tornare a una versione precedente di Chrome.

Anche io presumo che si sta utilizzando chrome: // accessibilità con

Global accessibility mode: on 
Show internal accessibility tree instead of native: on 

o iniziare cromato con la bandiera --force-renderer-accessibilità sembra essere un prerequisito per altri programmi di automazione come AutoIt come si è visto here.

Se non riesci a far funzionare questo metodo, ti consiglio di provare lo script autoit lì.

Ecco un autoit code example che mostra l'acquisizione della barra degli indirizzi e l'utilizzo per la navigazione generale, su altre cose!