【问题标题】:Can not close upload file window in selenium无法关闭硒中的上传文件窗口
【发布时间】:2021-04-20 20:42:27
【问题描述】:

我有一个问题想解决。 我的网页中有一个屏幕,可以打开一个对话框来上传文件。 我设法选择了文件,但是对话框没有关闭,而是保持打开状态。 所以我不能继续屏幕上的其他事情。 我想关闭对话框。 我尝试关闭驱动程序并关闭网页。 我尝试创建所有打开的窗口的功能,但找不到对话框。 如何关闭此对话框? 这是我所做的,因为它无法识别对话框,所以没有奏效。 (说只打开一个窗口) 问题是在开发工具中我没有找到关闭此对话框的定位器,因为我无法检查它,有人可以建议如何关闭它吗?由于浏览器卡住了,

 Thread.sleep(8000);
        Set <String> w = deiver2.getWindowHandles(); // create set of all windows
        deiver2.switchTo()
                .activeElement();
        System.out.println("Window title: "+ deiver2.getTitle());

        deiver2.findElement(By.xpath("//input[@type='file']"))
        .sendKeys(
                "X:\\AutomationFiles\\yoyoy.pdf");
        for (String h: w){
            deiver2.switchTo().window(h);
            String s= deiver2.getTitle();
            System.out.println("Window title: "+ deiver2.getTitle());
            if(s.equalsIgnoreCase("Open")){
                System.out.println("Window title to be closed: "+ deiver2.getTitle());
                deiver2.close();
            }
        }
        deiver2.switchTo().window(base);
        System.out.println("END");

【问题讨论】:

    标签: javascript java selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

    这很可能是一个单独的浏览器窗口,并且有自己的开发工具。要验证这一点,您可以将其聚焦并按F12 for the dev console。我看到您已经获得了窗口句柄。放置一个调试器并尝试使用开发工具来做这件事。您将获得选择器,当您在断点下时可以在开发工具中使用它

    【讨论】:

    • 不,没有打开开发工具到对话框。因为是显示我的电脑的盒子,所以这不是网页,prsss F12 不工作,这个盒子没有开发工具
    • 更多的窗口句柄看不到它是一个窗口,它说只有一个窗口存在,我需要一种方法来关闭这个对话框
    • 嗯.. 那时它不适用于 Selenium。你可以这样欺骗它。应该有一个隐藏的地方的输入框。看看这篇文章它可能会对你有所帮助。否则,如果您能提供一些我可以尝试帮助您的运行示例会很好:) dev.to/razgandeanu/how-to-upload-files-with-selenium-3gj3
    【解决方案2】:

    我找到的解决方案就是不打开选择文件对话框。 我看到如果我只是将密钥发送到输入而不单击上传文件按钮,则打开的对话框正在工作

     public  void uploadFile() throws Exception {
        WebDriver deiver2 = getWebDriver();
     
        Thread.sleep(3000);
        deiver2.switchTo()
                .activeElement();
        deiver2.findElement(By.xpath("//input[@type='file']"))
        .sendKeys(
                "X:\\AutomationFiles\\yyyyyy.pdf");
    
        System.out.println("END");
    
    }
    

    【讨论】:

      猜你喜欢
      • 2015-08-17
      • 2018-07-23
      • 1970-01-01
      • 2017-01-24
      • 1970-01-01
      • 1970-01-01
      • 2015-04-05
      • 1970-01-01
      • 2016-05-31
      相关资源
      最近更新 更多