2011-10-10 7 views
7

Sto utilizzando l'ultima versione di selenio e il chromedriver per testare un'applicazione ZK.Come ottengo il DOM corrente con Selenium Java 2.8?

Durante il test, mi piacerebbe fare uscire il DOM (o parte di esso) di aiutarmi a trovare gli elementi di cui ho bisogno (e probabilmente aiutare le persone che hanno a mantenere la prova).

Il metodo WebDriver.getPageSource() sembrava promettente ma restituisce solo l'HTML così come è stato inviato dal server, non il risultato dopo l'esecuzione di tutto il codice JavaScript.

codice

La JavaScript viene eseguito; Posso trovare elementi per ID che non riesco a vedere nell'output di getPageSource(). Così ho provato WebElement.getText() ma questo è solo il testo degli elementi, non gli stessi elementi o i loro attributi.

E 'possibile a tutti di ottenere il DOM o devo fare un intervento chirurgico buco della serratura qui?

risposta

1

Ho la stessa domanda davvero, ma l'unico modo che ho trovato per farlo è ExecuteScript:

/// <summary> 
     /// Gets the parentElement/Node of a particular element 
     /// </summary> 
     /// <param name="driver"></param> 
     /// <param name="element"></param> 
     /// <returns></returns> 
     public static IWebElement GetElementParent(IWebDriver driver,IWebElement element) 
     { 
      return (IWebElement) ((IJavaScriptExecutor)driver).ExecuteScript("return arguments[0].parentNode", element); 
     } 

il motivo per cui il sostegno doesnt By.DOM Con con una funzione che non so davvero .. Sospetto che sia dovuto alla necessità di un webdriver per più browser ecc.

+0

Ok, poiché la pagina contiene jQuery, potrei ottenere ciò che voglio eseguendo '$ (argomenti [0]). Html()', immagino : - / –

Problemi correlati