首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浏览器弹出窗口在selenium中未关闭

浏览器弹出窗口在selenium中未关闭
EN

Stack Overflow用户
提问于 2018-09-26 21:11:05
回答 1查看 247关注 0票数 0

启动url后,有一封电子邮件弹出,我正在尝试关闭。我已经编写了xpath,并且能够用它找到关闭图标。但是当我尝试执行的时候,它并没有关闭。然后,我隐式添加了等待元素可见,然后尝试关闭。尽管如此,它仍然没有关闭。你能告诉我发生这种情况的原因是什么吗?如何解决?并且提交按钮也没有单击我给出了正确的xpath。

提前谢谢..

下面是代码片段。

代码语言:javascript
复制
public static void main(String[] args) {            
        WebDriver driver;
        System.setProperty("webdriver.chrome.driver", "E:\\Softwares\\Chromedriver.exe");
        driver = new ChromeDriver();
        driver.get("https://html.com/input-type-file/");
        driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);    
        WebElement closeButon = driver.findElement(By.xpath("//a[@class='om-close miami-element-close miami-close']"));     

        if(closeButon.isDisplayed())
        {
            System.out.println("close Buton is there.. ");
            closeButon.click();
            System.out.println("close Buton closed ");
        }
        driver.findElement(By.xpath("//input[@name='fileupload']")).sendKeys("E:\\Users\\laxman_p\\Desktop\\PromoFeature.txt");
        //Submit button

driver.findElement(By.xpath("//*@id='post-206'/div/div3/form/input2")).click();

代码语言:javascript
复制
     }
EN

回答 1

Stack Overflow用户

发布于 2018-09-26 22:28:13

如果你不能通过xpath关闭它,我认为这个问题可能与聚焦窗口有关,你需要使用getWindowHandle和switchTo方法来聚焦这个弹出窗口。之后,您将能够在此弹出窗口上进行处理。

代码语言:javascript
复制
 driver.getWindowHandles() 

返回窗口集。

代码语言:javascript
复制
 driver.switchTo.window(windowId);

将切换到您想要关注的窗口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52518598

复制
相关文章

相似问题

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