代码之家  ›  专栏  ›  技术社区  ›  Mike ASP

无法处理身份验证弹出窗口

  •  0
  • Mike ASP  · 技术社区  · 7 年前
    1. 我正在使用C#、Selenium、AutoIt和Google Chrome。
    2. 我可以启动浏览器,并可以看到验证弹出窗口。
    3. 当执行以下代码时,弹出窗口消失,之后浏览器将永远停留在那里。

      autoItX3 autoIt = new AutoItX3();
      Driver.Instance.Manage().Window.Maximize();
      Driver.Instance.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(2);
      
      try
      {
          Driver.Instance.Navigate().GoToUrl(Driver.BaseAddress);
      }
      catch
      {
          return;
      }
      autoIt.WinWait("Authentication Required");
      autoIt.WinActivate("Authentication Required");
      autoIt.Send("admin");
      autoIt.Send("{TAB}");
      autoIt.Send("pass");
      autoIt.Send("{ENTER}");
      Driver.Instance.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(-1);
      
    2 回复  |  直到 4 年前
        1
  •  1
  •   Milos Dragg    7 年前

    您正在尝试自动生成子窗口。 Autoit在被告知之前不会看到子窗口。

    Opt("WinSearchChildren", 1) ;0=no, 1=search children also
    

    允许窗口搜索例程搜索子窗口以及 顶层窗口。0=(默认)仅搜索顶级windows 1= 搜索顶级窗口和子窗口

        2
  •  0
  •   sorak Xavier S.    6 年前
    1. 如果不了解服务器上身份验证实现的内部情况,很难发表评论。有一件事是肯定的——从安全角度来看,这是一个坏主意,因为附加到URL的参数不安全。

      例如: http://myURL.com/index.jsp/j_security_check?j_username=username&j_password=password

      或 " http://username:password@www.example.com/ ")

    2. 根据我们的内部认证,这对我来说很有效:

      https://myURL.com/login/Login.aspx?usestandardlogin=1

      因此其=>“http:YouURL.com”+“?”+“usestandardlogin=1”

    现在我没有看到任何弹出窗口,它只是重新引导我登录。

    推荐文章