2016-04-05 6 views
0

Ich muss ein Web-Browser-Popup akzeptieren, die beim Aktualisieren der Website kommt. Ich habe folgende Skript verwendet, um die Website zu aktualisieren -Wie Fokus auf Browser-Popup mit selen webdriver C#

driver.FindElement(By.Id("all_bt")).SendKeys(Keys.F5); 

Danach habe ich unten Code verwendet, um den Web-Browser Popup zu akzeptieren.

IAlert alert = driver.SwitchTo().Alert(); 
        Thread.Sleep(3000); 
        alert.Accept(); 

Aber ich bekomme Fehler als Alert nicht gefunden. Ich glaube, der Fokus liegt nicht auf dem Popup, das könnte der Grund sein. Kann mir jemand dabei helfen?

+0

anprobieren direkt klicken Sie auf oK .. wenn noch nicht arbeiten dann prüfen, ob es vorhanden ist, jeder Rahmen .. es muss ein Popup-Fenster neben Browser-Pop-up .. wechseln zu Alarm wird in diesem Fall nicht funktionieren –

+0

Wenn Sie direkt auf OK klicken, funktioniert es. Auf der Aufnahme wird das Skript das Popup erkannt als -> \t assertAlert \t Prozess durch Fehler unterbrochen wurde. \t – Rajith

+0

kühl .. Ich habe Lösung als Antwort gegeben .. akzeptieren Sie bitte die Antwort es –

Antwort

0

Wenn Sie die Seite, statt SendKey mit F5 aktualisieren Sie

driver.navigate().refresh(); 

Herabstufung Popup in Java wie unten versuchen können, sind in der Lage Elemente in diesem Popup zu untersuchen? Wenn Sie in der Lage sind, das Popup-Fenster zu prüfen, wird die normale Seite nicht Alert sein.

Überkreuzen Sie den verwendeten Locator, versuchen Sie mit den erforderlichen warten Sie, dass OK-Schaltfläche angezeigt wird und diese Schaltfläche in jedem Rahmen oder nicht (iframe) ist. Wenn es innerhalb des Rahmens ist, dann wechsle den Rahmen vor dem Klicken. Nachdem die Arbeit im Frame ausgeführt wurde, wechseln Sie zurück zum Standardinhalt.

driver.switchTo().frame("provide frame name or location"); //switch to frame command 

    driver.switchTo().defaultContent(); //switch to default content command 

    //below is wait command 
    WebDriverWait wait=new WebDriverWait(driver, 120); 
    wait.until(ExpectedConditions.presenceOfElementLocated(By.id("id of ok"))); 

Danke, Murali G

+0

Es ist Browser-Popup, aber ich bin nicht in der Lage, OK-Schaltfläche zu finden. Wenn ich Skript aufgezeichnet wird das Popup erkannt, wie unten - \t assertAlert \t Prozess wird durch einen Fehler unterbrochen wurde. \t – Rajith

+0

Verwenden Firebug in Firefox-Browser, der OK-Taste inspizieren. Wenn Sie nicht in der Lage sind zu inspizieren, dann ist es Alarm. Wie bei der Aufnahme sieht es wie Alarm aus. Aber versuchen Sie es einmal mit Firebug –

0

klicken Sie Versuchen direkt ok .. wenn noch nicht arbeiten dann prüfen, ob es vorhanden ist .. jeder Rahmen muss es eine Anwendung Pop-up neben Browser-Pop-up .. schalten in diesem Fall nicht funktionieren

Hoffnung zu alarmieren, es wird Ihnen helfen :)

+0

Wenn Sie direkt auf OK klicken, funktioniert es. Beim Aufzeichnen des Scripts wird das Popup als -> assertAlert erkannt. Prozess wurde durch Fehler unterbrochen. – Rajith

+0

Sie meine Aufnahme über Selen IDE –

+0

Ja. Ich habe gerade bestätigt, dass es sich bei diesem Popup-Fenster um ein Webbrowser-Popup handelt, indem ich mit Selenium IDE aufzeichne. – Rajith