【问题标题】:IE9, Selenium: how to disable download prompting bar ?IE9、Selenium:如何禁用下载提示栏?
【发布时间】:2014-12-17 18:21:56
【问题描述】:

出于测试目的,我需要禁用 IE9 中的下载提示栏(要求打开或保存文件),否则我无法测试我的应用程序中允许下载文件的功能。

有允许这样做的下载管理器,我想知道我可以把手放在哪里(哪个窗口的注册表)以删除这个下载提示栏。

【问题讨论】:

  • 可能只是一个安全区域设置。尝试将您的网站放入 Intranet/本地区域。
  • 您希望在没有提示的情况下自动下载文件,对吗?
  • @MarcB 我也这么认为。但它充满了安全设置,尝试每一个我认为这是一项非常耗时的任务:-)
  • @GiovanniBitliner 我想说在 IE 中处理硒测试通常是一项耗时的任务。
  • 使用AutoIt进行下载,或者如果您不想进入AutoIt,那么我建议(在java中)使用Robot类发送Alt+sAlt+k密钥任何 IE 都需要单击打开或保存按钮。使用 AutoIt 很容易,但将其集成到您的项目中可能会让您有些头疼。

标签: testing selenium selenium-webdriver internet-explorer-9 download


【解决方案1】:

您可以尝试切换到新窗口并关闭它或执行以下代码。

driver.switchTo().alert().dismiss();

【讨论】:

    【解决方案2】:

    您没有说您使用的是哪种语言,但我能够使用以下 Ruby 代码做到这一点。

    请注意,它不会像您的问题中所问的那样触及注册表,而是使用键盘与 IE9 下载栏进行交互。它不会完全禁用下载栏,而是通过在调用下载后让 IE 保存文件来有效地做同样的事情。 Selenium 看不到 IE9 下载栏,因此您无法使用 Selenium 与之交互。

    require 'win32ole'
    #assuming download has started, and IE9 download window is now visible
    if $browser = "IE" then 
        wsh = WIN32OLE.new('Wscript.Shell')
        wsh.AppActivate('My webpage - Windows Internet Explorer')
        sleep 1
        wsh.SendKeys('%s;') #  $browser.send_keys #doesn't work - because IE download window is not on the web page.
    end
    

    【讨论】:

      猜你喜欢
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-30
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      相关资源
      最近更新 更多