【问题标题】:Close download bar关闭下载栏
【发布时间】:2017-01-11 18:30:45
【问题描述】:

我正在使用 Java 和 Selenium 编写测试。在我的测试中,我下载了一个文件,但随后需要单击下载栏下的一个按钮,该按钮出现在 chrome 浏览器页面的底部。我搜索了很多,但唯一的解决方案是here,这不是我的情况,因为我没有卷轴。

我也用:

action.sendKeys(Keys.CONTROL+ "j").build().perform();
action.keyUp(Keys.CONTROL).build().perform();
Thread.sleep(500);        
ArrayList<String> tabs2 = new ArrayList<String> (driverChrome.getWindowHandles());
driverChrome.switchTo().window(tabs2.get(1));
Thread.sleep(500);
driverChrome.close();
driverChrome.switchTo().window(tabs2.get(0));
Thread.sleep(500);

但它没有打开下载页面。

我可以关闭下载栏吗?

【问题讨论】:

    标签: selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

    这种方法对我也不起作用,但我开发了一种解决方法。我在新窗口做任何下载测试,然后关闭下载窗口,原来的窗口没有下载栏。它必须是一个新窗口,如果您创建一个新选项卡,它将转移过来,为此我使用 JavaScript。切换到新窗口,运行下载测试,完成后切换到原始窗口。

    string javascript = $"$(window.open('', '_blank', 'location=yes'))";
    
    ((IJavaScriptExecutor)Driver).ExecuteScript(javascript); //create new window
    
    Driver.SwitchTo().Window(Driver.WindowHandles.Last())); //switch to new window
    
    //do download test here
    
    Driver.Close(); //close created window
    
    Driver.SwitchTo().Window(Driver.WindowHandles.First()); //back to original window with no download bar
    

    【讨论】:

      猜你喜欢
      • 2013-11-01
      • 2018-01-24
      • 1970-01-01
      • 2012-09-24
      • 2023-04-06
      • 2011-01-30
      • 2014-02-22
      • 2013-07-17
      • 2011-06-06
      相关资源
      最近更新 更多