Se la finestra del browser non è a fuoco, tutte le identificazioni del webdriver sulla pagina corrente non riescono.Assicurarsi che il browser aperto da Webdriver sia sempre a fuoco
Come si può mettere a fuoco il browser utilizzando il webdriver?
Se la finestra del browser non è a fuoco, tutte le identificazioni del webdriver sulla pagina corrente non riescono.Assicurarsi che il browser aperto da Webdriver sia sempre a fuoco
Come si può mettere a fuoco il browser utilizzando il webdriver?
executeScript("window.focus();")
non ha funzionato per me nel più recente Chrome (V47, al momento di questo post)
Tuttavia ho trovato un hack in another question che fa lavoro in questa versione di Chrome.
passi generici, in quanto la questione non specifica la lingua selenio api:
Attuazione in webdriverjs
, che ho Sto usando
const chrome = setupChromeWebdriver(); // get your webdriver here
chrome.executeScript('alert("Focus window")'))
.then(() => chrome.switchTo().alert().accept());
Selenio 3.0 ta kes this:
((IJavaScriptExecutor)po.WebDriver).ExecuteScript("window.focus();");
Ciò non significa che la finestra del browser otterrà il focus effettivo, cioè non garantisce che la finestra del browser sia attiva a livello di SO; ci sono casi in cui questo attiverà solo il messaggio "attenzione" a livello di OS. – cprn
Questo funziona per me. Dopo il codice che apre il browser, emettere questo snippet:
String window = driver.getWindowHandle();
((JavascriptExecutor) driver).executeScript("alert('Test')");
driver.switchTo().alert().accept();
driver.switchTo().window(window);
Che browser? Firefox, IE, Chrome? –
Perché l'istanza non ha l'attenzione? Se stai cercando di operare normalmente sul computer che esegue i test, allora sì, non funzionerà bene dal momento che Selenium utilizza la tastiera nativa OS e le istruzioni di clic con cui interferiresti. A volte, ['driver.switchTo() .defaultContent()'] (http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebDriver.TargetLocator.html#defaultContent% 28% 29) (e/o 'switchTo(). ActiveElement()') aiuta - principalmente su IE. Qual è il tuo caso d'uso? –