La Storia:frequenza sondaggio Controllo di browser.wait() (Wait perfetto)
in Java binding di linguaggio selenio c'è una FluentWait
class, che permette di controllare strettamente come la condizione prevista sarebbe controllato:
Ogni istanza di FluentWait definisce la quantità massima di tempo di attesa per per una condizione, nonché la frequenza con cui controllare la condizione . Inoltre, l'utente può configurare l'attesa per ignorare i tipi specifici di eccezioni durante l'attesa, come ad esempio NoSuchElementExceptions durante la ricerca di un elemento nella pagina.
In altre parole, è possibile modificare l'intervallo di polling in cui viene applicato il controllo di condizione previsto, che è di default 500ms. Inoltre, è possibile impostare eccezioni da ignorare.
È also possible in Python, ci sono argomenti rilevanti poll_frequency
e ignored_exceptions
nella classe WebDriverWait
.
la domanda:
È possibile controllare la frequenza sondaggio in cui la condizione prevista è verificata quando si utilizza browser.wait()
in Goniometro/WebDriverJS?
Secondo la browser.wait()
documentation, ci sono solo 3 possibili argomenti: una funzione che è una condizione prevista, un valore di timeout e un messaggio di errore di timeout opzionale. Spero che ci sia una diversa impostazione o un modo per cambiare la frequenza del sondaggio.
Da [questo] (https://github.com/SeleniumHQ/selenium/blob/master/javascript/webdriver/webdriver.js#L657) Sembra JS il polling veloce come si può. Quindi in pratica non penso che abbia il parametro che vuoi. Ma immagino che 2 possibili soluzioni potrebbero essere: 1. Scrivi una 'Condizione' personalizzata, che dorme internamente se la condizione non è vera prima che ritorni 2. Costruisci' Promessa' invece, che si comporta diversamente secondo lo stesso documento 3. La terza opzione è riscrivere 'wait' o avvolgerlo in alcune funzioni personalizzate. Non è una buona opzione però. –
@KirilS. fatto qualche altra ricerca e riassunto il tuo punto in una risposta. Grazie ancora! – alecxe