none
webdiver静默方式运行IE

    问题

  • 我现在在做一个小工具,需要后台登陆网站,抓取数据。我用的方式时使用IEDriver来驱动浏览器启动,并访问相关的URL。

    但启动的IE一直是前台运行的,很不友善!如何能让IE后台运行呢?

    我现在想到的思路有两种,一中是使用webdriver的InternetExplorerOptions参数,进行设定,但未找到对应的设定方法;

    第二种是,使用IE的启动参数,可以让IE后台运行,但未找到相关的参数。

    有没有什么更好的方案或者可以提供IE启动参数的呢?

    2017年2月15日 4:05

答案

  • 非常感谢您对我问题的关注和答复!

    不过,我看到的IEdriver的用法跟你说的不一样呢~

    它这个是这样用的,不显示driver黑屏的方式我已经解决了:

                InternetExplorerDriverService ieService = InternetExplorerDriverService.CreateDefaultService();
                ieService.HideCommandPromptWindow = true;//隐藏启动driver service时显示的黑屏

                InternetExplorerOptions options = new InternetExplorerOptions();
                options.UnexpectedAlertBehavior = InternetExplorerUnexpectedAlertBehavior.Ignore;
                options.RequireWindowFocus = false;

                this.driver = new InternetExplorerDriver(ieService, options);

    找了好久没有这样的参数,后来干脆通过操作系统API ShowWindow把IE隐藏了!虽然会一闪而过,但也算满足需求了~就先这么着吧! /尴尬~/尴尬~/尴尬~

    2017年2月17日 2:23

全部回复

  • Hi 朋友的朋友,

    感谢你在MSDN论坛发帖。

    根据我搜索的结果,也没有相关属性能设置浏览器不显示,并且在后台运行。

    你可以让IE浏览器最小化,这样就可以不用显示在最前面。

    你觉得这样可以吗?

    不知道你的IE driver能不能设置浏览器的启动方式。 下面是在C# 中指定IE最小化启动

    ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
    startInfo.WindowStyle = ProcessWindowStyle.Minimized;
    startInfo.Arguments = "www.google.com";
    
    Process.Start(startInfo);

    关与属性的设置,可以参考MSDN文档。 这个文档是可以设置windows 是不显示的。但不是正对IE

    Best Regards,

    Hatr


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年2月15日 6:36
    版主
  • 非常感谢您对我问题的关注和答复!

    不过,我看到的IEdriver的用法跟你说的不一样呢~

    它这个是这样用的,不显示driver黑屏的方式我已经解决了:

                InternetExplorerDriverService ieService = InternetExplorerDriverService.CreateDefaultService();
                ieService.HideCommandPromptWindow = true;//隐藏启动driver service时显示的黑屏

                InternetExplorerOptions options = new InternetExplorerOptions();
                options.UnexpectedAlertBehavior = InternetExplorerUnexpectedAlertBehavior.Ignore;
                options.RequireWindowFocus = false;

                this.driver = new InternetExplorerDriver(ieService, options);

    找了好久没有这样的参数,后来干脆通过操作系统API ShowWindow把IE隐藏了!虽然会一闪而过,但也算满足需求了~就先这么着吧! /尴尬~/尴尬~/尴尬~

    2017年2月17日 2:23