alla ricerca di una parola data dall'utente in una pagina web utilizzando c # e selenio

0

Sto cercando di sviluppare un'applicazione di selenio (usando i moduli di vittoria c #). Quindi, mentre l'applicazione si avvia, gli utenti inseriranno il nome di una app nella casella di testo. Ho molti campi come costo, validità ecc. Corrispondenti a ciascuna app.

Esempio di pagina web:

description  appname  cost  validity  xyzattribute
--------------------------------------------------
some desc     app1     10      30     someattribute

Voglio che il selenio cerchi l'intera pagina per quel determinato nome dell'app e, se ne trova uno, voglio che il selenio recuperi tutti gli attributi (costo, validità) e li memorizzi in una variabile. Come posso ottenere questo?

Si noti che nessuno di questi campi ha un attributo unico (come nome / id / altro).

    
posta vysakh 17.07.2013 - 08:29
fonte

1 risposta

1

Se fossi in te, potrei sfruttare l'abilità di Seliniums per eseguire e ottenere risultati da comandi javascript arbitrari. Supponiamo che tu abbia una struttura simile a questa:

<table id="mytable">
    <tr>
       <th>description</th>
       <th>appname</th>
    <tr>
    <tr>
       <td>description 1</td>
       <td>appname 1</td>
    <tr>
    <tr>
       <td>description 2</td>
       <td>appname 2</td>
    <tr>
<table>

Per ottenere il valore della colonna della descrizione sulla seconda riga, puoi eseguire questo codice javascript:

var secondDescription = document.getElementById("mytable").rows[1].children[0].innerHtml

In C #, devi prima creare un'istanza di IJavascriptExecutor ( link ):

IWebDriver driver = new FirefoxDriver(); //or whatever
IJavascriptExecutor jsDriver = (IJavaScriptExecutor) driver;

Quindi per ottenere un valore in C #, devi semplicemente eseguire il comando javascript:

string secondDescription = jsDriver.ExecuteScript("document.getElementById(\"mytable\").rows[1].children[0].innerHtml");
    
risposta data 19.07.2013 - 22:52
fonte

Leggi altre domande sui tag