Se fossi in te, vorrei configurare un proxy e instradare tutto il traffico dello WebDriver
. Nella delega, per ciascuna richiesta vorrei analizzare le intestazioni di richiesta e potete trovare intestazione
X-Requested-With = XMLHttpRequest
Reference
Se si dispone di questo, si può (con buona dose di fiducia) dire che hai avuto Ajax
invocato . Ci possono essere alcuni casi d'angolo che ti mancheranno, ma questo dovrebbe farti la maggior parte di loro.
In ogni caso, è necessario considerare che le chiamate Ajax potrebbero non essere eseguite al caricamento della pagina, potrebbe richiedere l'interazione dell'utente per attivare tali chiamate.
Si può cercare di affrontare il problema utilizzando il metodo WebDrivers getPageSource()
e applicare un metodo per l'uscita in cerca di modelli come $.get(
e $.post(
e $.ajax(
e tutti gli altri quelli che si possono trovare.
Potresti anche essere interessato a this answer sull'impostazione del proxy.
fonte
2015-07-18 18:10:47
si prega di leggere http://stackoverflow.com/help/how-to-ask e fornire maggiori informazioni su ciò che si è provato e ciò che non ha funzionato – Dude
In realtà, questo è un problema interessante. – alecxe
Cosa intendi esattamente con "Ajax Based", se esistono alcune chiamate Ajax o se si tratta di un'applicazione Simple Page? per esempio (Angular JS) Il problema è che ci sono molti approcci usando ajax. è la barriera principale secondo me. non c'è un modello .. –