C'è un modo per impostare la velocità di esecuzione del Selenium Webdriver in ruby.setSpeed in Selenium WebDriver con Ruby
in Perl per il selenio 1 (RC) c'era $sel->set_speed("500");
Ma a causa di alcuni vincoli di selenio RC, ho dovuto passare a selenio WebDriver e ha dovuto iniziare a utilizzare Ruby, e non riesco a trovare la funzione per la stesso.
Leggere da qualche parte le opzioni "Lento", "Medio" e "Veloce" come argomenti per impostare la velocità in C# e Perl, ma non in Ruby.
Nota - I timeout sono impostati con questo @driver.manage.timeouts.implicit_wait = 30
ma sto cercando la velocità di esecuzione.
Quindi, qual è il modo migliore per risolvere un problema, dove facendo clic su un collegamento si apre un popup e ho bisogno di inviare le chiavi a una casella di testo in quel popup. A volte il caricamento del popup richiede più tempo, a causa del quale il find_element di quell'ID della casella di testo ha esito negativo anche se viene visualizzato. Penso che il tentativo di cercare l'id dell'elemento inizi immediatamente e anche se il popup si carica molto prima di 30 secondi (il mio timeout esplicito), gli script falliscono. – Amey
Hai bisogno di una sorta di routine di attesa esplicita; attese implicite potrebbero non aiutarti qui. Nelle lingue supportate direttamente dal progetto (Java, .NET, Ruby, Python), questo può essere realizzato usando la classe 'WebDriverWait' (o il suo equivalente). Inoltre, la risposta dipende un po 'da cosa intendi per "popup". È una nuova finestra del browser? In tal caso, dovrai utilizzare driver.switch_to.window() per mettere l'attenzione nel contesto corretto. Se si tratta di un "popup" creato da, ad esempio, un framework di widget JavaScript come jQuery o simile, il tuo find_element nella tua attesa routine. – JimEvans
Quindi è una nuova finestra popup, un'autorizzazione Login di LinkedIn per essere più precisi. E faccio spostare i controlli nella nuova finestra, usando handle = @ driver.window_handles @ driver.switch_to.window (handle [1]) ... ma quello che succede è .. il popup può essere come un secondo o due in realtà "pop-up" durante il quale il passaggio alla finestra fallisce, e tutti i passaggi lì su ovviamente falliscono. Al momento ho messo in atto .. un sonno di 2 secondi (tra cliccando sul link e in attesa di passare alla nuova finestra). Ma sono sicuro che c'è un modo migliore. – Amey