示例#1
0
        public BrowserWrapperControl(GetHiddenDriver getHiddenDriver, string processName)
        {
            var window = IntPtr.Zero;

            void SetWindow(IntPtr value)
            {
                window = value;
            }

            IntPtr GetWindow()
            {
                return(window);
            }

            if (!ContainerPanel.IsHandleCreated)
            {
                ContainerPanel.CreateControl();
            }
            var invoke = getHiddenDriver?.Invoke(out DriverService, ContainerPanel.Handle,
                                                 SetWindow);

            WebDriver = invoke?.Item2;
            //var windows = WebDriver?.WindowHandles.Select(e => long.Parse(e)).ToArray();
            Thread = invoke?.Item1;
            var processById = BrowserUtility.GetBrowserProcess(GetWindow, processName);

            Process            = processById;
            KillProcessOnClose = false;
            Loaded            += Window_Loaded;
        }