Ho un tasto su una pagina web che WebDriver non scatterà quando sono in esecuzione tramite IE - ho provato le soluzioni alternative al di sotto, ma senza fortuna -Soluzioni alternative per Selenio pulsante non cliccando con InternetExplorerDriver
Cliccando via JavaScript:
((JavascriptExecutor) driver).executeScript("$(arguments[0]).click()", webElement)
Uso SendKeys:
webElement.SendKeys(keys.Enter)
utilizzando l'azione Builder
Actions test = new Actions(driver);
test.moveToElement(webElement);
test.clickAndHold();
test.release();
test.build();
test.perform();
Assicurandosi che la finestra è quella attiva, poi cliccando sul oggetto padre, allora l'oggetto stesso
Il problema è che nessuno di loro lavoro. Ho controllato Firefox e Chrome e lo script funziona correttamente. Ho confermato che l'elemento viene trovato quando si utilizza IE. Ci sono altre soluzioni alternative che posso provare?
Avete una pagina di esempio in cui questo problema viene riprodotto? Potrebbe valere la pena di archiviarlo come un bug se funziona correttamente con gli altri driver. –
Purtroppo può essere riprodotto solo su un'app interna. Sono riusciti a risolvere il problema passando al focus della finestra, forzando lo scorrimento, facendo clic sull'elemento padre, facendo clic sull'elemento e quindi inviando Javascript. Ovviamente esagerare da qualche parte, ma è solo felice che funzioni. – Dave
Credo che la finestra di IE debba essere in primo piano e in primo piano affinché molte azioni funzionino correttamente. Almeno questa è stata la mia esperienza con esso. –