如何在selenium webdriver中关闭弹出窗口?

时间:2016-11-14 09:51:22

标签: java selenium web webdriver

我正在尝试使用带有java的selenium web驱动程序关闭弹出窗口。我尝试了不同的方法,但无法成功。请帮帮我。

package Demo; 
import java.util.Set;

import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class YahooTest {
    public static void main(String[] args) throws InterruptedException {
        FirefoxDriver obj = new FirefoxDriver();
        String url = "https://www.planyourjourney.com/";
        obj.get(url);
        obj.manage().window().maximize();
        obj.findElement(By.xpath("html/body/div[12]/div/div/div[9]")).click();
        obj.findElementByClassName("dyna-link-new-registration").click();
        obj.findElement(By.linkText("B2B Login")).click();
        Thread.sleep(4000);
        obj.findElement(By.id("userid")).clear();
        obj.findElement(By.id("userid")).sendKeys("1592jet@gmail.com");
        obj.findElement(By.id("ulPassword")).clear();
        obj.findElement(By.id("ulPassword")).sendKeys("spyj01");
        obj.findElement(By.name("Next")).click();
        Thread.sleep(2000);
        obj.findElement(By.id("affilitetrainadvpage"));
        Alert alert = obj.switchTo().alert();
        alert.dismiss();
    }
}

1 个答案:

答案 0 :(得分:0)

我看过网页的源代码,但在其中找不到任何提醒。

弹出窗口实际上写在div标签内。​​

因此,删除与警报相关的代码,并使用下面使用xpath的代码。

obj.findElement(By.xpath("//*[@id='affilitetrainadvpage']/span/a/img")).click();