MicrosoftEdge / EdgeWebDriver

Feedback and discussions about WebDriver for Microsoft Edge
MIT License
57 stars 7 forks source link

WebDriver IE Mode hanging on page load #2047 #38

Closed titusfortner closed 2 years ago

titusfortner commented 2 years ago

System

Windows 11 Pro; 10.0.22000 (Parallels) Edge 103.0.1264.44 Selenium 4.3.0 IE Driver 4.2.0


I'm not getting a response back from the driver when sending to url endpoint (e.g. POST session/eb16c8e7-bb37-4eb0-9973-546bc19dc29f/url)

This was reported to Selenium, and according to the user it worked up until Edge 102.0.1245.39 (https://github.com/SeleniumHQ/selenium/issues/10824#issuecomment-1171179187).

I tested in Ruby & Java to make sure it wasn't a Selenium bug:

        InternetExplorerOptions options = new InternetExplorerOptions();
        options.attachToEdgeChrome();
        options.ignoreZoomSettings();
        options.withEdgeExecutablePath("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe");

        driver = new InternetExplorerDriver(options);
        driver.get("https://selenium.dev");
    options = Selenium::WebDriver::Options.ie
    options.attach_to_edge_chrome = true
    options.edge_executable_path = "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"
    options.ignore_zoom_level = true
    driver = Selenium::WebDriver.for :ie, options: options

    driver.get 'https://selenium.dev'
titusfortner commented 2 years ago

I guess this isn't actually a EdgeWebDriver issue, either, but presumably a change in Edge browser affecting what IE Driver is doing. Should we track this here or in Selenium?

bwalderman commented 2 years ago

Thanks for creating this issue. Tracking it here is the best way to put it on our radar so we can investigate if this is a regression from Edge. Feel free to keep the Selenium issue open and linked to this one.

sathiyakumars2308 commented 2 years ago

Any update on the issue?

bwalderman commented 2 years ago

I haven't been able to reproduce this with either Java or C#. I tried navigating to https://selenium.dev with the options above and the navigation completed successfully without hanging the client.

runeimp commented 2 years ago

This is my first attempt using IE Mode with Selenium and had this same issue.

Testing with... Selenium 4.3.0 (Python 3.9.12) IEDriverServer.exe 4.3.0.0 (32-bit and 64-bit) Edge 103.0.1264.77 (Official build) (64-bit) Windows 10 Pro for Workstations Version 21H2 OS build 19044.1826 (via VirtualBox on macOS BIg Sur) Code from: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ie-mode?tabs=python

jefsmo commented 2 years ago

Trace from InternetExplorerDriverService

I 2022-08-08 11:20:57:165 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(88) Starting WebDriver server on port: '5555' on host: ''
T 2022-08-08 11:20:57:168 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(738) Entering Server::PopulateCommandRepository
T 2022-08-08 11:20:57:170 C:\Users\titusfortner\git\selenium\cpp\iedriver\IEServer.cpp(32) Entering IEServer::IEServer
I 2022-08-08 11:20:57:171 C:\Users\titusfortner\git\selenium\cpp\iedriver\IEServer.cpp(33) Driver version: 4.3.0.0 (32-bit)
T 2022-08-08 11:20:57:176 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(180) Entering Server::Start
Started InternetExplorerDriver server (32-bit)
4.3.0.0
Listening on port 5555
Log level is set to TRACE
Only local connections are allowed
T 2022-08-08 11:20:57:624 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(234) Entering Server::ProcessRequest
T 2022-08-08 11:20:57:624 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(243) Process request with: URI: /status HTTP verb: GET
body: {}
T 2022-08-08 11:20:57:625 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(334) Entering Server::DispatchCommand
T 2022-08-08 11:20:57:625 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(687) Entering Server::LookupCommand
D 2022-08-08 11:20:57:625 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(343) Command: GET /status {}
T 2022-08-08 11:20:57:625 C:\Users\titusfortner\git\selenium\cpp\iedriver\IEServer.cpp(51) Entering IEServer::GetStatus
T 2022-08-08 11:20:57:626 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(81) Entering Response::SetSuccessResponse
T 2022-08-08 11:20:57:626 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(87) Entering Response::SetResponse
T 2022-08-08 11:20:57:627 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(60) Entering Response::Serialize
D 2022-08-08 11:20:57:627 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(426) Response: {
        "value" :
        {
                "build" :
                {
                        "version" : "4.3.0.0 (32-bit)"
                },
                "message" : "Ready to create session",
                "os" :
                {
                        "arch" : "x64",
                        "name" : "windows",
                        "version" : "10.0.19041.1741 (WinBuild.160101.0800)"
                },
                "ready" : true
        }
}
T 2022-08-08 11:20:57:627 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(479) Entering Server::SendResponseToClient
T 2022-08-08 11:20:57:628 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(30) Entering Response::Deserialize
T 2022-08-08 11:20:57:628 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(540) Entering Server::SendHttpOk
T 2022-08-08 11:20:59:839 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(234) Entering Server::ProcessRequest
T 2022-08-08 11:20:59:839 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(298) Entering Server::ReadRequestBody
T 2022-08-08 11:20:59:841 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(243) Process request with: URI: /session HTTP verb: POST
body: {"capabilities":{"firstMatch":[{"browserName":"internet explorer","browserVersion":"11","platformName":"windows","timeouts":{"implicit":0,"pageLoad":30000,"script":3000},"se:ieOptions":{"nativeEvents":true,"enablePersistentHover":true,"ignoreZoomSetting":true,"browserAttachTimeout":15000,"ie.edgechromium":true,"ie.edgepath":"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"}}]}}
T 2022-08-08 11:20:59:842 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(334) Entering Server::DispatchCommand
T 2022-08-08 11:20:59:844 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(687) Entering Server::LookupCommand
D 2022-08-08 11:20:59:848 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(343) Command: POST /session {"capabilities":{"firstMatch":[{"browserName":"internet explorer","browserVersion":"11","platformName":"windows","timeouts":{"implicit":0,"pageLoad":30000,"script":3000},"se:ieOptions":{"nativeEvents":true,"enablePersistentHover":true,"ignoreZoomSetting":true,"browserAttachTimeout":15000,"ie.edgechromium":true,"ie.edgepath":"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"}}]}}
T 2022-08-08 11:20:59:849 C:\Users\titusfortner\git\selenium\cpp\iedriver\IEServer.cpp(42) Entering IEServer::InitializeSession
T 2022-08-08 11:20:59:850 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(45) Entering IESession::Initialize
D 2022-08-08 11:20:59:852 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(60) Mutex acquired for session initalization
T 2022-08-08 11:20:59:853 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(922) Entering IECommandExecutor::ThreadProc
T 2022-08-08 11:20:59:891 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(75) Entering IECommandExecutor::OnCreate
T 2022-08-08 11:20:59:891 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(1707) Entering IECommandExecutor::PopulateElementFinderMethods
T 2022-08-08 11:20:59:892 C:\Users\titusfortner\git\selenium\cpp\iedriver\InputManager.cpp(56) Entering InputManager::InputManager
T 2022-08-08 11:20:59:892 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1239) Entering BrowserFactory::GetExecutableLocation
T 2022-08-08 11:20:59:893 C:\Users\titusfortner\git\selenium\cpp\iedriver\RegistryUtilities.cpp(49) Attempting to get registry value  from HKEY_LOCAL_MACHINE\SOFTWARE\Classes\InternetExplorer.Application\CLSID
T 2022-08-08 11:20:59:896 C:\Users\titusfortner\git\selenium\cpp\iedriver\RegistryUtilities.cpp(133) Retrieved value {0002DF01-0000-0000-C000-000000000046}
T 2022-08-08 11:20:59:897 C:\Users\titusfortner\git\selenium\cpp\iedriver\RegistryUtilities.cpp(49) Attempting to get registry value  from HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0002DF01-0000-0000-C000-000000000046}\LocalServer32
T 2022-08-08 11:20:59:898 C:\Users\titusfortner\git\selenium\cpp\iedriver\RegistryUtilities.cpp(133) Retrieved value "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
T 2022-08-08 11:20:59:898 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1288) Entering BrowserFactory::GetIEVersion
T 2022-08-08 11:20:59:902 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlerRepository.cpp(110) Entering CommandHandlerRepository::PopulateCommandHandlers
T 2022-08-08 11:20:59:906 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(106) Created thread for command executor returns HWND: '00030B3C'
T 2022-08-08 11:20:59:906 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(110) Session id is retrived from command executor window: '8436ad0b-73b0-4045-8f46-d06cf1822bec'
D 2022-08-08 11:20:59:907 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(116) Releasing session initialization mutex
T 2022-08-08 11:20:59:908 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(198) Entering IESession::ExecuteCommand
T 2022-08-08 11:20:59:908 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(156) Entering IECommandExecutor::OnSetCommand
T 2022-08-08 11:20:59:912 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\command.cc(31) Entering Command::Deserialize
D 2022-08-08 11:20:59:912 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "newSession", "locator" : { }, "parameters" : {"capabilities":{"firstMatch":[{"browserName":"internet explorer","browserVersion":"11","platformName":"windows","timeouts":{"implicit":0,"pageLoad":30000,"script":3000},"se:ieOptions":{"nativeEvents":true,"enablePersistentHover":true,"ignoreZoomSetting":true,"browserAttachTimeout":15000,"ie.edgechromium":true,"ie.edgepath":"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"}}]}} }
T 2022-08-08 11:20:59:914 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\command.cc(31) Entering Command::Deserialize
D 2022-08-08 11:20:59:914 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "newSession", "locator" : { }, "parameters" : {"capabilities":{"firstMatch":[{"browserName":"internet explorer","browserVersion":"11","platformName":"windows","timeouts":{"implicit":0,"pageLoad":30000,"script":3000},"se:ieOptions":{"nativeEvents":true,"enablePersistentHover":true,"ignoreZoomSetting":true,"browserAttachTimeout":15000,"ie.edgechromium":true,"ie.edgepath":"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"}}]}} }
T 2022-08-08 11:20:59:915 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(178) Entering IECommandExecutor::OnExecCommand
T 2022-08-08 11:20:59:915 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(226) Beginning wait for response length to be not zero
T 2022-08-08 11:20:59:915 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(994) Entering IECommandExecutor::DispatchCommand
D 2022-08-08 11:20:59:916 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(1059) Executing command: newSession
D 2022-08-08 11:20:59:916 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(48) Found W3C capabilities structure
T 2022-08-08 11:20:59:917 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(183) Entering NewSessionCommandHandler::ValidateArguments
D 2022-08-08 11:20:59:917 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(199) Validating alwaysMatch capability set
T 2022-08-08 11:20:59:918 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(672) Entering NewSessionCommandHandler::ValidateCapabilities
D 2022-08-08 11:20:59:918 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(673) Validating capabilities object
D 2022-08-08 11:20:59:919 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(220) Validating firstMatch capability set with index 0
T 2022-08-08 11:20:59:919 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(672) Entering NewSessionCommandHandler::ValidateCapabilities
D 2022-08-08 11:20:59:919 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(673) Validating capabilities object
D 2022-08-08 11:20:59:920 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(722) Found browserName capability. Validating value type is string.
D 2022-08-08 11:20:59:920 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(736) Found browserVersion capability. Validating value type is string.
D 2022-08-08 11:20:59:921 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(751) Found platformName capability. Validating value type is string.
D 2022-08-08 11:20:59:921 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(989) Found se:ieOptions capability. Validating value type is object.
D 2022-08-08 11:20:59:921 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(824) Found timeouts capability. Validating value type is object.
D 2022-08-08 11:20:59:922 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(834) Validating timeouts capability object contains correct property names.
T 2022-08-08 11:20:59:922 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(648) Entering NewSessionCommandHandler::MergeCapabilities
T 2022-08-08 11:20:59:922 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(274) Entering NewSessionCommandHandler::ProcessCapabilities
T 2022-08-08 11:20:59:926 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(589) Entering NewSessionCommandHandler::MatchCapabilities
D 2022-08-08 11:20:59:927 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(279) Processing matched capability set with index 0
T 2022-08-08 11:20:59:927 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability unhandledPromptBehavior
T 2022-08-08 11:20:59:928 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability pageLoadStrategy
T 2022-08-08 11:20:59:928 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(167) Entering NewSessionCommandHandler::GetPageLoadStrategyValue
T 2022-08-08 11:20:59:928 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability strictFileInteractability
T 2022-08-08 11:20:59:929 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability timeouts
T 2022-08-08 11:20:59:929 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(345) Entering NewSessionCommandHandler::SetTimeoutSettings
T 2022-08-08 11:20:59:930 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(364) Entering NewSessionCommandHandler::SetBrowserFactorySettings
T 2022-08-08 11:20:59:931 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability ignoreProtectedModeSettings
T 2022-08-08 11:20:59:932 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability ignoreZoomSetting
T 2022-08-08 11:20:59:933 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability browserAttachTimeout
T 2022-08-08 11:20:59:933 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability initialBrowserUrl
T 2022-08-08 11:20:59:934 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability ie.forceCreateProcessApi
T 2022-08-08 11:20:59:937 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability ie.forceShellWindowsApi
T 2022-08-08 11:20:59:938 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability ie.browserCommandLineSwitches
T 2022-08-08 11:20:59:938 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability ie.ensureCleanSession
T 2022-08-08 11:20:59:939 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability ie.edgechromium
T 2022-08-08 11:20:59:944 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability ie.edgepath
T 2022-08-08 11:20:59:945 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(118) Entering BrowserFactory::Initialize
D 2022-08-08 11:20:59:947 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(128) path before was C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

D 2022-08-08 11:20:59:948 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(130) path after was 00FA5630

T 2022-08-08 11:20:59:948 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(485) Entering NewSessionCommandHandler::SetInputSettings
T 2022-08-08 11:20:59:948 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability nativeEvents
T 2022-08-08 11:20:59:949 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability elementScrollBehavior
T 2022-08-08 11:20:59:949 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability requireWindowFocus
T 2022-08-08 11:20:59:950 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability ie.fileUploadDialogTimeout
T 2022-08-08 11:20:59:950 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(101) Entering NewSessionCommandHandler::GetCapability for capability enablePersistentHover
T 2022-08-08 11:20:59:950 C:\Users\titusfortner\git\selenium\cpp\iedriver\InputManager.cpp(82) Entering InputManager::Initialize
T 2022-08-08 11:20:59:950 C:\Users\titusfortner\git\selenium\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(532) Entering NewSessionCommandHandler::CreateReturnedCapabilities
T 2022-08-08 11:20:59:951 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(1581) Entering IECommandExecutor::CreateNewBrowser
T 2022-08-08 11:20:59:951 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(150) Entering BrowserFactory::LaunchBrowserProcess
D 2022-08-08 11:20:59:951 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(154) Ignoring Protected Mode Settings: 0
D 2022-08-08 11:20:59:952 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(157) Checking validity of Protected Mode settings.
T 2022-08-08 11:20:59:952 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1307) Entering BrowserFactory::ProtectedModeSettingsAreValid
D 2022-08-08 11:20:59:952 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1310) Detected IE version: 11, Windows version supports Protected Mode: 1
T 2022-08-08 11:20:59:952 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1384) Entering BrowserFactory::GetZoneProtectedModeSetting
D 2022-08-08 11:20:59:953 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1401) Found Protected Mode setting value of 0 for zone 1
T 2022-08-08 11:20:59:953 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1384) Entering BrowserFactory::GetZoneProtectedModeSetting
D 2022-08-08 11:20:59:953 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1401) Found Protected Mode setting value of 0 for zone 2
T 2022-08-08 11:20:59:954 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1384) Entering BrowserFactory::GetZoneProtectedModeSetting
D 2022-08-08 11:20:59:954 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1401) Found Protected Mode setting value of 0 for zone 3
T 2022-08-08 11:20:59:954 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1384) Entering BrowserFactory::GetZoneProtectedModeSetting
D 2022-08-08 11:20:59:955 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1401) Found Protected Mode setting value of 0 for zone 4
D 2022-08-08 11:20:59:956 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(160) Has Valid Protected Mode Settings: 1
T 2022-08-08 11:20:59:958 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(236) Entering BrowserFactory::IsIELaunchURLAvailable
T 2022-08-08 11:21:00:212 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(138) Entering BrowserFactory::ClearCache
T 2022-08-08 11:21:00:254 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(379) Entering BrowserFactory::LaunchEdgeInIEMode
D 2022-08-08 11:21:00:276 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(380) Starting Edge Chromium from the command line
T 2022-08-08 11:21:00:321 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(398) 549EB7C0C:\Users\******\AppData\Local\Temp\IEDriver-283ea2ea-2bb3-43f5-8ad5-9caa590d0307.
T 2022-08-08 11:21:00:327 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(412) IE starting command line is: 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe --ie-mode-force --internet-explorer-integration=iemode --user-data-dir=C:\Users\******\AppData\Local\Temp\IEDriver-283ea2ea-2bb3-43f5-8ad5-9caa590d0307 --no-first-run --no-service-autorun --disable-sync --disable-features=msImplicitSignin --disable-popup-blocking http://localhost:5555/'.
D 2022-08-08 11:21:01:034 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(212) IE launched successfully with process ID 7232
D 2022-08-08 11:21:01:034 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(218) Process with ID 7232 is executing msedge.exe
T 2022-08-08 11:21:01:036 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(478) Entering BrowserFactory::AttachToBrowser
D 2022-08-08 11:21:01:037 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(488) Using Active Accessibility to find IWebBrowser2 interface
T 2022-08-08 11:21:01:037 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(539) Entering BrowserFactory::AttachToBrowserUsingActiveAccessibility
T 2022-08-08 11:21:14:811 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(234) Entering Server::ProcessRequest
T 2022-08-08 11:21:14:827 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(243) Process request with: URI: / HTTP verb: GET
body: {}
T 2022-08-08 11:21:14:892 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(540) Entering Server::SendHttpOk
D 2022-08-08 11:21:16:145 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(492) Failed to find IWebBrowser2 using ActiveAccessibility: Could not find an Internet Explorer window belonging to the process with ID 7232 within 15000 milliseconds.
D 2022-08-08 11:21:16:152 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(501) Using IShellWindows to find IWebBrowser2 interface
T 2022-08-08 11:21:16:162 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(625) Entering BrowserFactory::AttachToBrowserUsingShellWindows
T 2022-08-08 11:21:17:453 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(234) Entering Server::ProcessRequest
T 2022-08-08 11:21:17:461 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(243) Process request with: URI: /favicon.ico HTTP verb: GET
body: {}
T 2022-08-08 11:21:17:463 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(334) Entering Server::DispatchCommand
T 2022-08-08 11:21:17:464 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(687) Entering Server::LookupCommand
D 2022-08-08 11:21:17:465 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(343) Command: GET /favicon.ico {}
T 2022-08-08 11:21:17:465 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(94) Entering Response::SetErrorResponse
T 2022-08-08 11:21:17:468 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(87) Entering Response::SetResponse
T 2022-08-08 11:21:17:468 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(60) Entering Response::Serialize
D 2022-08-08 11:21:17:469 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(426) Response: {
        "value" :
        {
                "error" : "unknown command",
                "message" : "Command not found: GET /favicon.ico",
                "stacktrace" : ""
        }
}
T 2022-08-08 11:21:17:470 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(479) Entering Server::SendResponseToClient
T 2022-08-08 11:21:17:470 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(30) Entering Response::Deserialize
T 2022-08-08 11:21:17:471 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(603) Entering Server::SendHttpNotFound
T 2022-08-08 11:21:19:803 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(234) Entering Server::ProcessRequest
T 2022-08-08 11:21:19:803 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(243) Process request with: URI: /favicon.ico HTTP verb: GET
body: {}
T 2022-08-08 11:21:19:804 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(334) Entering Server::DispatchCommand
T 2022-08-08 11:21:19:805 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(687) Entering Server::LookupCommand
D 2022-08-08 11:21:19:805 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(343) Command: GET /favicon.ico {}
T 2022-08-08 11:21:19:805 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(94) Entering Response::SetErrorResponse
T 2022-08-08 11:21:19:806 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(87) Entering Response::SetResponse
T 2022-08-08 11:21:19:806 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(60) Entering Response::Serialize
D 2022-08-08 11:21:19:806 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(426) Response: {
        "value" :
        {
                "error" : "unknown command",
                "message" : "Command not found: GET /favicon.ico",
                "stacktrace" : ""
        }
}
T 2022-08-08 11:21:19:807 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(479) Entering Server::SendResponseToClient
T 2022-08-08 11:21:19:807 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(30) Entering Response::Deserialize
T 2022-08-08 11:21:19:808 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(603) Entering Server::SendHttpNotFound
W 2022-08-08 11:21:31:511 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(1597) Unable to attach to browser COM object
T 2022-08-08 11:21:31:511 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(94) Entering Response::SetErrorResponse
T 2022-08-08 11:21:31:513 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(87) Entering Response::SetResponse
D 2022-08-08 11:21:31:513 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(1062) Command execution for newSession complete
T 2022-08-08 11:21:31:514 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(1315) Entering IECommandExecutor::GetCurrentBrowser
T 2022-08-08 11:21:31:516 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(1321) Entering IECommandExecutor::GetManagedBrowser
T 2022-08-08 11:21:31:516 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(1324) Current command executor is not valid
W 2022-08-08 11:21:31:517 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(1108) Unable to get current browser
T 2022-08-08 11:21:31:519 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(60) Entering Response::Serialize
D 2022-08-08 11:21:31:519 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(1127) Setting serialized response to {
        "value" :
        {
                "error" : "session not created",
                "message" : "Unexpected error launching Internet Explorer. Could not find an Internet Explorer window belonging to the process with ID 7232 within 15000 milliseconds.",
                "stacktrace" : ""
        }
}
D 2022-08-08 11:21:31:520 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(1128) Is waiting flag: 0
T 2022-08-08 11:21:31:526 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(235) Found non-zero response length
T 2022-08-08 11:21:31:528 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(201) Entering IECommandExecutor::OnGetResponse
T 2022-08-08 11:21:31:529 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(641) Entering IECommandExecutor::OnIsSessionValid
T 2022-08-08 11:21:31:531 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(30) Entering Response::Deserialize
T 2022-08-08 11:21:31:531 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(285) Entering Server::ShutDownSession
T 2022-08-08 11:21:31:532 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(126) Entering IESession::ShutDown
T 2022-08-08 11:21:31:534 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(180) Entering IESession::WaitForCommandExecutorExit
D 2022-08-08 11:21:31:535 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(157) Executor shutdown successful!
D 2022-08-08 11:21:31:535 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(165) Posting thread shutdown message
D 2022-08-08 11:21:31:536 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(168) Starting wait for thread completion
D 2022-08-08 11:21:31:536 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(972) Shutdown message received
D 2022-08-08 11:21:31:536 C:\Users\titusfortner\git\selenium\cpp\iedriver\IESession.cpp(171) Waiting for thread to end returned 4294967295
D 2022-08-08 11:21:31:537 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(131) Entering IECommandExecutor::OnDestroy
D 2022-08-08 11:21:31:537 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(426) Response: {
        "value" :
        {
                "error" : "session not created",
                "message" : "Unexpected error launching Internet Explorer. Could not find an Internet Explorer window belonging to the process with ID 7232 within 15000 milliseconds.",
                "stacktrace" : ""
        }
}
D 2022-08-08 11:21:31:537 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(133) Clearing managed element cache
D 2022-08-08 11:21:31:538 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(136) Closing command handler repository
T 2022-08-08 11:21:31:538 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(479) Entering Server::SendResponseToClient
D 2022-08-08 11:21:31:539 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(138) Closing element finder
T 2022-08-08 11:21:31:539 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\response.cc(30) Entering Response::Deserialize
D 2022-08-08 11:21:31:539 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(140) Closing input manager
T 2022-08-08 11:21:31:540 C:\Users\titusfortner\git\selenium\cpp\webdriver-server\server.cc(582) Entering Server::SendHttpInternalError
D 2022-08-08 11:21:31:540 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(142) Closing proxy manager
T 2022-08-08 11:21:31:541 C:\Users\titusfortner\git\selenium\cpp\iedriver\ProxyManager.cpp(190) ProxyManager::RestoreProxySettings
D 2022-08-08 11:21:31:541 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(144) Closing browser factory
D 2022-08-08 11:21:31:541 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(146) Posting quit message
D 2022-08-08 11:21:31:542 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(148) Leaving IECommandExecutor::OnDestroy
D 2022-08-08 11:21:31:545 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(974) Returned from DestroyWindow()
D 2022-08-08 11:21:31:545 C:\Users\titusfortner\git\selenium\cpp\iedriver\IECommandExecutor.cpp(987) Exited IECommandExecutor thread message loop
Unhandled exception. System.InvalidOperationException: Unexpected error launching Internet Explorer. Could not find an Internet Explorer window belonging to the process with ID 7232 within 15000 milliseconds. (SessionNotCreated)
   at OpenQA.Selenium.WebDriver.UnpackAndThrowOnError(Response errorResponse)
   at OpenQA.Selenium.WebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.WebDriver.StartSession(ICapabilities desiredCapabilities)
   at OpenQA.Selenium.WebDriver..ctor(ICommandExecutor executor, ICapabilities capabilities)
   at OpenQA.Selenium.IE.InternetExplorerDriver..ctor(InternetExplorerDriverService service, InternetExplorerOptions options, TimeSpan commandTimeout)
   at OpenQA.Selenium.IE.InternetExplorerDriver..ctor(InternetExplorerDriverService service, InternetExplorerOptions options)
   at DriverServiceSample.Program.Main() in C:\Users\******\Source\repos\IEModeInEdge\DriverServiceSample\Program.cs:line 47
bwalderman commented 2 years ago

Thanks for sharing the trace logs. I see that the driver is failing to attach to the msedge.exe process that was launched. @jefsmo @titusfortner do you have more details about the repro environment? I'm not able to repro this on any of the machines I've tried.

jefsmo commented 2 years ago

@bwalderman Trace Machine environment:

Windows on VMWare Client Virtual Machine Edition Windows 10 Enterprise Version 21H2 Installed on ‎2/‎21/‎2021 OS build 19044.1826 Experience Windows Feature Experience Pack 120.2212.4180.0

Microsoft Edge (C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe) Version 104.0.1293.47 (Official build) (64-bit)

IEDriverServer Started InternetExplorerDriver server (32-bit) 4.3.0.0 Listening on port 5555

titusfortner commented 2 years ago

@jefsmo Where did those tracelogs come from? I don't remember seeing them, but they have my username???

Also, they are the wrong tracelogs for this issue. This is what I'm seeing: https://gist.github.com/titusfortner/3aef8609eb6b0bfa052d1d764ce01f8f

Lines 306 - 316 keep repeating until the timeout happens

This is on my Mac with Windows 11 via Parallels. I updated to latest Selenium/IEDriver/Edge versions.

jefsmo commented 2 years ago

@titusfortner I generated the trace log on my machine. Your name shows up b/c the trace is referencing your source code, not my repro code (see below). Not sure why or how you are getting a different error but it clearly isn't connecting to the msedge process in my trace. I had to run the service separately to see the IEDriverService log.

using OpenQA.Selenium;
using OpenQA.Selenium.IE;

namespace DriverServiceSample
{
    static class Program
    {
        static void Main()
        {
            // Create the service.
            var service = InternetExplorerDriverService.CreateDefaultService(@"C:\WebDrivers", "IEDriverServer.exe");
            service.Port = 5555;
            service.HideCommandPromptWindow = false;
            service.HostName = "localhost";
            service.LoggingLevel = InternetExplorerDriverLogLevel.Trace;
            service.SuppressInitialDiagnosticInformation = false;

            if (!service.IsRunning)
            {
                service.Start();
            }

            // Open the browser.
            if (service.IsRunning)
            {
                InternetExplorerOptions options = new()
                {
                    AttachToEdgeChrome = true,
                    IgnoreZoomLevel = true,
                    EdgeExecutablePath = "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe",
                    BrowserAttachTimeout = TimeSpan.FromSeconds(15),
                    BrowserVersion = "11"
                };

                var timeouts = new
                {
                    @implicit = 0,
                    pageLoad = 30000,
                    script = 3000
                };

                options.AddAdditionalOption("timeouts", timeouts);

                IWebDriver? driver = default;
                try
                {
                    driver = new InternetExplorerDriver(service, options)
                    {
                        Url = "https://bing.com"
                    };

                    var q = driver.FindElement(By.Id("sb_form_q"));
                    q.SendKeys("WebDriver");
                    q.Submit();
                }
                finally
                {
                    driver?.Quit();
                    service.Dispose();
                }
            }
        }
    }
}
sohrabtowfighi commented 2 years ago

I am now also stuck on this issue.

titusfortner commented 2 years ago

@jefsmo I think your issue is different from the one I submitted here.

@sathiyakumars2308 & @sohrabtowfighi are you using Windows with a virtual machine? So far the people I've heard are having this issue are all accessing via Mac, so I'm curious.

sohrabtowfighi commented 2 years ago

@titusfortner I used a physical machine, not a virtual one. To be honest, I have given up on Selenium for my current task.

titusfortner commented 2 years ago

@bwalderman any ideas on what we can do about this one? Someone else posted this issue in Selenium Slack just yesterday. Very weird that it doesn't happen consistently.

bwalderman commented 2 years ago

@titusfortner I took a closer look at your trace https://gist.github.com/titusfortner/3aef8609eb6b0bfa052d1d764ce01f8f and I see that there may be an issue navigating across zones:

D 2022-08-11 11:48:07:960 C:\Users\titusfortner\git\selenium\cpp\iedriver\DocumentHost.cpp(414) Navigation across Protected Mode zone detected. URL: https://selenium.dev, is URL Protected Mode: true, is IE in Protected Mode: false

It does look like protected mode settings are missing for some zones, so they may not all match.

D 2022-08-11 11:48:05:854 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(157) Checking validity of Protected Mode settings.
T 2022-08-11 11:48:05:854 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1307) Entering BrowserFactory::ProtectedModeSettingsAreValid
D 2022-08-11 11:48:05:854 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1310) Detected IE version: 11, Windows version supports Protected Mode: 1
T 2022-08-11 11:48:05:855 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1384) Entering BrowserFactory::GetZoneProtectedModeSetting
D 2022-08-11 11:48:05:855 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1401) Found Protected Mode setting value of 3 for zone 1
T 2022-08-11 11:48:05:855 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1384) Entering BrowserFactory::GetZoneProtectedModeSetting
D 2022-08-11 11:48:05:856 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1405) RegQueryValueEx failed for getting Protected Mode setting for a zone: 2
T 2022-08-11 11:48:05:856 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1384) Entering BrowserFactory::GetZoneProtectedModeSetting
D 2022-08-11 11:48:05:856 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1405) RegQueryValueEx failed for getting Protected Mode setting for a zone: 3
T 2022-08-11 11:48:05:857 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1384) Entering BrowserFactory::GetZoneProtectedModeSetting
D 2022-08-11 11:48:05:857 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(1405) RegQueryValueEx failed for getting Protected Mode setting for a zone: 4
D 2022-08-11 11:48:05:857 C:\Users\titusfortner\git\selenium\cpp\iedriver\BrowserFactory.cpp(160) Has Valid Protected Mode Settings: 1

Can you double check the protected mode settings and try your repro again?

titusfortner commented 2 years ago

Oh interesting! How do I do this when IE isn't installed? I don't see anything in Edge Options or in Internet Options.

titusfortner commented 2 years ago

I followed this guide and it works!! https://superuser.com/a/1031309

So, uhh, is there a better way to do this than to hack the registry? :-D

titusfortner commented 2 years ago

Oh, or people can set ie_options.ignore_protected_mode_settings = True but someone reported that wasn't working for them.

bwalderman commented 2 years ago

So, uhh, is there a better way to do this than to hack the registry? :-D

That's a good question. I'll follow up with the IE mode owners and see if there's a documentation gap on our side.

naijabounce commented 2 years ago

I have been enforcing the protected mode settings for all zones from the 'Internet Options' control panel menu. Just another option. Not necessarily better if you have access to the registry

titusfortner commented 2 years ago

@naijabounce I don't see any settings for protected mode on internet options control panel

Screen Shot 2022-09-16 at 12 17 34 PM
bwalderman commented 2 years ago

I can confirm these are removed from the IE control panel on systems where IE11 has been disabled. That leaves either the registry or group policy for configuring these settings. Both methods are supported, if not necessarily well documented at the moment.

titusfortner commented 2 years ago

I started down the group policy path, but could not find the right things to change.

I need to change the registry settings back and see if ignore_protected_mode_settings works for me. Someone suggested that they were not working for them.

ooc, is there a reason that for Edge mode we *don't automatically set ignore_zoom and ignore_protected_mode?

naijabounce commented 2 years ago

@titusfortner sorry I missed the "Windows 11" part

titusfortner commented 2 years ago

@naijabounce no worries, I was hoping I'd missed something! :-D

bwalderman commented 2 years ago

I've been taking a closer look and ran several hundred test runs on a Win11 physical machine, VM, and on a Mac through Parallels. I haven't seen any stability issues specific to running on a Mac and nothing that matches the log output above where IEDriver fails to find an IE process after launch.

I did run into a hang during the Quit command which I was able to resolve with https://github.com/SeleniumHQ/selenium/pull/11079. Before this fix, IEDriver would hang indefinitely waiting for the browser to close, and Selenium would time out on the client side. When my test script attempts to create another session using the same driver service, the session doesn't get created because the IEDriver server still wasn't able to close the previous one. This isn't exactly what's described above, but it might explain some reports in the wild.

There is also a known issue that IEDriver sessions will not work if the machine is locked or the user is not logged in if accessing the machine remotely: #15, #27.

The next step would be to try and collect some more useful logs. If this issue happens consistently on a particular environment, the user can try running Windows Performance Recorder to collect an ETW trace. After installing, launch Windows Performance Recorder. Under "Scenario Analysis", check "Internet Explorer", and then click "Start" to start tracing. After tracing is stopped, it will be saved to file. That file can be uploaded/shared here and hopefully our team can take a closer look.

titusfortner commented 2 years ago

Oh, it's definitely the protected mode issue. Once I set the registry values it works as expected.

bwalderman commented 2 years ago

Thanks for confirming. In that case, I'm going to go ahead and close this issue. Please feel free to reopen if this pops up again.