首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法处理弹出新闻通讯

无法处理弹出新闻通讯
EN

Stack Overflow用户
提问于 2017-08-17 10:37:12
回答 2查看 152关注 0票数 0

我正在尝试使用Selenium webdriver测试一个电子商务网站。测试中的问题是,每当我试图在购物车中添加东西时,它都会弹出一个新闻信件窗口,我试图使用alert处理该窗口,但无法处理。

谁能帮帮我。我附上了下面的截图和代码。

代码语言:javascript
复制
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();
    }
}
EN

回答 2

Stack Overflow用户

发布于 2017-08-17 12:57:41

首先,这不是一个警报,而是一个窗口弹出窗口,因此您需要找到close按钮,然后单击

使用下面的代码进行同样的操作:

代码语言:javascript
复制
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

票数 0
EN

Stack Overflow用户

发布于 2017-08-17 13:54:34

等待一段时间,然后单击escape

代码语言:javascript
复制
 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();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45725769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档