无法处理弹出式新闻稿

时间:2017-08-17 02:37:12

标签: java selenium selenium-webdriver

我正在尝试使用Selenium webdriver测试电子商务网站。测试中的问题是,每当我尝试在购物车中添加内容时,它只会弹出一个新闻信窗口,我尝试使用警报进行处理,但我不能。

有人可以帮助我。我在下面附上了截图以及代码。

enter image description here

public class Ui {

    public static void main(String[] args) {
        System.setProperty("webdriver.gecko.driver","C:/New folder/geckodriver.exe");
        //First Iam going to initialize the webdriver by using Firefox driver//
        WebDriver driver = new FirefoxDriver();
        driver.get("https://www.build.com/");
        driver.manage().window().maximize();
        driver.findElement(By.xpath(".//*[@id='search_txt']")).sendKeys("K-6626-6U ");  
         Actions enter = new Actions(driver);
         enter.moveToElement(driver.findElement(By.xpath(".//*[@id='site-search']/div/button"))).click().build().perform();
    }
}

2 个答案:

答案 0 :(得分:0)

首先是 - 它不是一个警告窗口弹出窗口所以你需要找到关闭按钮,然后单击

使用以下代码:

public class Ui 
{
    public static void main(String[] args) 
    {
        System.setProperty("webdriver.gecko.driver","C:/New folder/geckodriver.exe");
        //First Iam going to initialize the webdriver by using Firefox driver//
        WebDriver driver = new FirefoxDriver();
        driver.get("https://www.build.com/");
        driver.manage().window().maximize();
        new WebDriverWait(driver, 60).until(ExpectedConditions.visibilityOf( driver.findElement(By.xpath("//button[@class='close external-close']")))).click();
    }
}

在这里你必须使用ExplicitWait,直到弹出窗口可见,然后必须执行点击。如果您不能使用等待,那么它将抛出ElementNotVisibleException

答案 1 :(得分:0)

等一段时间,然后点击逃生

 public static void main(String[] args) {
    WebDriver driver = new FirefoxDriver();
    driver.get("https://www.build.com/");
    driver.manage().window().maximize();
    //give own time
    driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    Actions enter = new Actions(driver);
    enter.sendKeys(Keys.ESCAPE).perform();
}