2016-03-21 11 views
1

Es gibt ein Szenario, in dem ich das modale Dialogfeld erhalte, als ich mich anzumelden versuchte.Wie wird mit dem modalen Dialogfeld in Selenium verfahren?

Ich bin nicht in der Lage, Login-Szenario zu behandeln, weil Webtreiber nicht Zugriff auf das modale Dialogfeld erhält. Gibt es eine Möglichkeit, damit umzugehen?

Siehe die Details in Bild unten: enter image description here

public class TwitterLogin 
{ 

    static WebDriver driver; 
    static String baseUrl="myURL"; 

    public static void main(String[] args) 
    { 
     driver= new FirefoxDriver(); 
     driver.get(baseUrl); 
     driver.manage().window().maximize(); 

     //******Click on Login Link**********// 
     WebElement LoginButton= driver.findElement(By.xpath("//button[@class='Button StreamsLogin js-login']")); 
     LoginButton.click(); 

     WebElement UsernameTextbox= driver.findElement(By.xpath("//input[contains(@name,'email]')]")); 
     UsernameTextbox.clear(); 
     UsernameTextbox.sendKeys("uName"); 

     WebElement PasswdTextbox=driver.findElement(By.xpath("//input[contains(@type,'password')]")); 
     PasswdTextbox.clear(); 
     PasswdTextbox.sendKeys("1234"); 

    } 

} 

Nach dem Einschalten Login-Button klicken, ich bin nicht in der Lage Benutzername & Passwort einzugeben.

+0

Welche Code haben Sie es geschrieben? Bitte [bearbeiten] (http://stackoverflow.com/posts/36126795/edit) deinen Beitrag und füge den Code hinzu. – JRodDynamite

+0

Hallo Jason, Ich wurde versucht, Code bis zum Start URL & klicken Sie auf Login-Taste. Aber wenn ich versuchte, Elemente mit Xpath direkt zu lokalisieren, passiert es nicht. Es bedeutet, dass ich diese modale Dialogbox nicht einschalten kann. Gibt es eine Möglichkeit, diese Dialogbox einzuschalten? –

+0

Tut mir leid, ich kann Ihnen wirklich nicht helfen, wenn ich nicht den Code sehe, den Sie geschrieben haben. Vielleicht ist XPath falsch. Oder das Problem könnte etwas anderes sein. – JRodDynamite

Antwort

1

schreiben Sie einfach den folgenden Code nach Klick auf Login-Button:

Thread.sleep(3000); //i use here wait implicit wait. Try to use explicit wait here. 

driver.findElement(By.cssSelector("a.Icon.Icon--close.Icon--medium.dismiss")).click(); 
+0

ist das funktioniert Bharat? – noor

+0

Danke Noor. Ich habe versucht, indem Sie große Timeout hinzufügen und es funktioniert jetzt. Sehen Sie unten ist mein Code- –

+0

Ich denke, dass Sie die Antwort akzeptieren können, indem Sie auf das Häkchen klicken ...... :) – noor

Verwandte Themen