Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

send_keys("é") to IE11 <input/> element sends e instead of é #4518

Closed
rdharrison2 opened this issue Aug 21, 2017 · 1 comment
Closed

send_keys("é") to IE11 <input/> element sends e instead of é #4518

rdharrison2 opened this issue Aug 21, 2017 · 1 comment
Labels

Comments

@rdharrison2
Copy link

Meta -

OS:
Windows 10 Pro (1703)
Selenium Version:
3.4.0
Browser:
IE11 (11.540.15063.0)
IEDriverServer.exe 3.5.1.0 (32-bit)

Expected/Actual Behavior -

Input field text box should have value "é" but actually has "e".

Steps to reproduce -

Using python selenium, run this script on a selenium server running remotely on a Win10 VM:

from selenium import webdriver
driver = webdriver.Remote("http://<server-ip>:4444/wd/hub",
    webdriver.DesiredCapabilities.INTERNETEXPLORER)
driver.get("https://www.google.com")
elem = driver.find_element_by_id("lst-ib")  # the main search box
elem.send_keys(u"é")

The search box should show é but has e (no accent) instead. The same thing works with other non-ascii characters such as ç or 日本語, but whenever I use é the browser shows e instead (and submits e).

The same scenario works using IE11 (11.0.9600.17358) on Windows7 so it could well be a Windows10 thing I don't understand.

IE driver log at TRACE looks like this:

T 2017-08-21 11:10:32:339 server.cc(174) Entering Server::ProcessRequest
T 2017-08-21 11:10:32:339 server.cc(238) Entering Server::ReadRequestBody
T 2017-08-21 11:10:32:339 server.cc(183) Process request with: URI: /session/6526d364-2c09-4dc5-a651-25ef1cf377ce/element/14063de9-df6e-428a-9ec3-dbc419af81e9/value HTTP verb: POST
body: {"id":"14063de9-df6e-428a-9ec3-dbc419af81e9","text":"é","value":["é"]}
T 2017-08-21 11:10:32:339 server.cc(272) Entering Server::DispatchCommand
T 2017-08-21 11:10:32:339 server.cc(583) Entering Server::LookupCommand
D 2017-08-21 11:10:32:339 server.cc(281) Command: POST /session/6526d364-2c09-4dc5-a651-25ef1cf377ce/element/14063de9-df6e-428a-9ec3-dbc419af81e9/value {"id":"14063de9-df6e-428a-9ec3-dbc419af81e9","text":"é","value":["é"]}
T 2017-08-21 11:10:32:339 server.cc(378) Entering Server::LookupSession
T 2017-08-21 11:10:32:339 IESession.cpp(191) Entering IESession::ExecuteCommand
T 2017-08-21 11:10:32:339 IECommandExecutor.cpp(122) Entering IECommandExecutor::OnSetCommand
T 2017-08-21 11:10:32:339 command.cc(31) Entering Command::Deserialize
D 2017-08-21 11:10:32:339 command.cc(36) Raw JSON command: { "name" : "sendKeys", "locator" : { "sessionid" : "6526d364-2c09-4dc5-a651-25ef1cf377ce", "id" : "14063de9-df6e-428a-9ec3-dbc419af81e9" }, "parameters" : {"id":"14063de9-df6e-428a-9ec3-dbc419af81e9","text":"é","value":["é"]} }
T 2017-08-21 11:10:32:340 IESession.cpp(212) Beginning wait for response length to be not zero
T 2017-08-21 11:10:32:340 IECommandExecutor.cpp(133) Entering IECommandExecutor::OnExecCommand
T 2017-08-21 11:10:32:340 IECommandExecutor.cpp(454) Entering IECommandExecutor::DispatchCommand
T 2017-08-21 11:10:32:340 IECommandExecutor.cpp(567) Entering IECommandExecutor::GetCurrentBrowser
T 2017-08-21 11:10:32:340 IECommandExecutor.cpp(573) Entering IECommandExecutor::GetManagedBrowser
T 2017-08-21 11:10:32:340 IECommandExecutor.cpp(523) Entering IECommandExecutor::IsAlertActive
T 2017-08-21 11:10:32:340 Browser.cpp(713) Entering Browser::GetActiveDialogWindowHandle
T 2017-08-21 11:10:32:340 Browser.cpp(206) Entering Browser::GetContentWindowHandle
D 2017-08-21 11:10:32:340 IECommandExecutor.cpp(537) No alert handle is found
T 2017-08-21 11:10:32:340 IECommandExecutor.cpp(567) Entering IECommandExecutor::GetCurrentBrowser
T 2017-08-21 11:10:32:340 IECommandExecutor.cpp(573) Entering IECommandExecutor::GetManagedBrowser
T 2017-08-21 11:10:32:340 Browser.cpp(206) Entering Browser::GetContentWindowHandle
T 2017-08-21 11:10:32:340 Browser.cpp(416) Entering Browser::GetTopLevelWindowHandle
T 2017-08-21 11:10:32:342 IECommandHandler.cpp(45) Entering IECommandHandler::GetElement
T 2017-08-21 11:10:32:342 IECommandExecutor.cpp(661) Entering IECommandExecutor::GetManagedElement
T 2017-08-21 11:10:32:342 ElementRepository.cpp(34) Entering ElementRepository::GetManagedElement
T 2017-08-21 11:10:32:346 IECommandExecutor.cpp(567) Entering IECommandExecutor::GetCurrentBrowser
T 2017-08-21 11:10:32:346 IECommandExecutor.cpp(573) Entering IECommandExecutor::GetManagedBrowser
T 2017-08-21 11:10:32:346 Browser.cpp(126) Entering Browser::GetDocument
I 2017-08-21 11:10:32:346 Browser.cpp(130) No child frame focus. Focus is on top-level frame
T 2017-08-21 11:10:32:352 Browser.cpp(613) Entering Browser::GetDocumentFromWindow
T 2017-08-21 11:10:32:358 Element.cpp(310) Entering Element::GetLocationOnceScrolledIntoView
T 2017-08-21 11:10:32:358 Element.cpp(441) Entering Element::GetLocation
T 2017-08-21 11:10:32:358 Element.cpp(577) Entering Element::IsInline
D 2017-08-21 11:10:32:358 Element.cpp(487) Element is a block element, using IHTMLElement2::getBoundingClientRect
T 2017-08-21 11:10:32:363 Element.cpp(598) Entering Element::RectHasNonZeroDimensions
T 2017-08-21 11:10:32:364 Element.cpp(614) Entering Element::GetFrameDetails
T 2017-08-21 11:10:32:364 Element.cpp(904) Entering Element::GetContainingDocument
D 2017-08-21 11:10:32:374 Element.cpp(564) Element is not in a frame
T 2017-08-21 11:10:32:374 Element.cpp(853) Entering Element::CalculateClickPoint
T 2017-08-21 11:10:32:374 Element.cpp(792) Entering Element::GetClickableViewPortLocation
T 2017-08-21 11:10:32:374 Element.cpp(904) Entering Element::GetContainingDocument
T 2017-08-21 11:10:32:375 DocumentHost.cpp(271) Entering DocumentHost::GetDocumentMode
T 2017-08-21 11:10:32:381 Element.cpp(879) Entering Element::IsLocationInViewPort
T 2017-08-21 11:10:32:381 Element.cpp(792) Entering Element::GetClickableViewPortLocation
T 2017-08-21 11:10:32:381 Element.cpp(904) Entering Element::GetContainingDocument
T 2017-08-21 11:10:32:382 DocumentHost.cpp(271) Entering DocumentHost::GetDocumentMode
T 2017-08-21 11:10:32:390 Element.cpp(377) Entering Element::IsHiddenByOverflow
T 2017-08-21 11:10:32:391 Element.cpp(904) Entering Element::GetContainingDocument
T 2017-08-21 11:10:32:392 Script.cpp(49) Entering Script::Initialize
T 2017-08-21 11:10:32:392 Script.cpp(99) Entering Script::AddArgument(IHTMLElement*)
T 2017-08-21 11:10:32:392 Script.cpp(105) Entering Script::AddArgument(VARIANT)
T 2017-08-21 11:10:32:392 Script.cpp(169) Entering Script::Execute
T 2017-08-21 11:10:32:392 Script.cpp(477) Entering Script::CreateAnonymousFunction
T 2017-08-21 11:10:32:420 Script.cpp(433) Entering Script::ConvertResultToString
D 2017-08-21 11:10:32:420 Script.cpp(444) Result type is string
D 2017-08-21 11:10:32:420 Element.cpp(356) (x, y, w, h): 277, 324, 461, 34
T 2017-08-21 11:10:32:421 Element.cpp(89) Entering Element::IsDisplayed
T 2017-08-21 11:10:32:421 Element.cpp(904) Entering Element::GetContainingDocument
T 2017-08-21 11:10:32:422 Script.cpp(49) Entering Script::Initialize
T 2017-08-21 11:10:32:422 Script.cpp(99) Entering Script::AddArgument(IHTMLElement*)
T 2017-08-21 11:10:32:422 Script.cpp(105) Entering Script::AddArgument(VARIANT)
T 2017-08-21 11:10:32:422 Script.cpp(88) Entering Script::AddArgument(bool)
T 2017-08-21 11:10:32:422 Script.cpp(105) Entering Script::AddArgument(VARIANT)
T 2017-08-21 11:10:32:422 Script.cpp(169) Entering Script::Execute
T 2017-08-21 11:10:32:422 Script.cpp(477) Entering Script::CreateAnonymousFunction
T 2017-08-21 11:10:32:452 Element.cpp(133) Entering Element::IsEnabled
T 2017-08-21 11:10:32:452 Element.cpp(904) Entering Element::GetContainingDocument
T 2017-08-21 11:10:32:453 Script.cpp(49) Entering Script::Initialize
T 2017-08-21 11:10:32:453 Script.cpp(99) Entering Script::AddArgument(IHTMLElement*)
T 2017-08-21 11:10:32:453 Script.cpp(105) Entering Script::AddArgument(VARIANT)
T 2017-08-21 11:10:32:453 Script.cpp(169) Entering Script::Execute
T 2017-08-21 11:10:32:453 Script.cpp(477) Entering Script::CreateAnonymousFunction
I 2017-08-21 11:10:32:473 CommandHandlers\SendKeysCommandHandler.cpp(800) Focus is on a UI element other than the HTML viewer pane.
T 2017-08-21 11:10:32:523 InputManager.cpp(80) Entering InputManager::PerformInputSequence
D 2017-08-21 11:10:32:523 InputManager.cpp(101) Mutex acquired for user interaction.
T 2017-08-21 11:10:32:523 Browser.cpp(206) Entering Browser::GetContentWindowHandle
T 2017-08-21 11:10:32:523 InputManager.cpp(798) Entering InputManager::AddKeyboardInput
T 2017-08-21 11:10:32:523 Browser.cpp(206) Entering Browser::GetContentWindowHandle
T 2017-08-21 11:10:32:523 InputManager.cpp(798) Entering InputManager::AddKeyboardInput
T 2017-08-21 11:10:32:523 Browser.cpp(206) Entering Browser::GetContentWindowHandle
T 2017-08-21 11:10:32:523 InputManager.cpp(798) Entering InputManager::AddKeyboardInput
T 2017-08-21 11:10:32:523 Browser.cpp(206) Entering Browser::GetContentWindowHandle
T 2017-08-21 11:10:32:523 InputManager.cpp(798) Entering InputManager::AddKeyboardInput
T 2017-08-21 11:10:32:523 HookProcessor.cpp(94) Entering HookProcessor::Initialize
T 2017-08-21 11:10:32:523 HookProcessor.cpp(104) Entering HookProcessor::Initialize
T 2017-08-21 11:10:32:523 HookProcessor.cpp(167) Entering HookProcessor::InstallWindowsHook
T 2017-08-21 11:10:32:523 Browser.cpp(206) Entering Browser::GetContentWindowHandle
T 2017-08-21 11:10:32:529 HookProcessor.cpp(244) Entering HookProcessor::Dispose
T 2017-08-21 11:10:32:529 HookProcessor.cpp(197) Entering HookProcessor::UninstallWindowsHook
T 2017-08-21 11:10:32:529 HookProcessor.cpp(244) Entering HookProcessor::Dispose
T 2017-08-21 11:10:32:583 response.cc(72) Entering Response::SetSuccessResponse
T 2017-08-21 11:10:32:583 response.cc(78) Entering Response::SetResponse
T 2017-08-21 11:10:32:583 IECommandExecutor.cpp(567) Entering IECommandExecutor::GetCurrentBrowser
T 2017-08-21 11:10:32:583 IECommandExecutor.cpp(573) Entering IECommandExecutor::GetManagedBrowser
T 2017-08-21 11:10:32:583 response.cc(51) Entering Response::Serialize
T 2017-08-21 11:10:32:583 IESession.cpp(221) Found non-zero response length
T 2017-08-21 11:10:32:583 IECommandExecutor.cpp(156) Entering IECommandExecutor::OnGetResponse
T 2017-08-21 11:10:32:583 IECommandExecutor.cpp(285) Entering IECommandExecutor::OnIsSessionValid
D 2017-08-21 11:10:32:583 server.cc(338) Response: {"value":null}

So, it looks like IE driver is being asked to send the right text.

I can manually enter é on browser into the field so it seems like a bug in IEdriver or something I don't understand in terms of keyboard mapping?

@barancev
Copy link
Member

Duplicate of #4462

@barancev barancev marked this as a duplicate of #4462 Aug 22, 2017
@lock lock bot locked and limited conversation to collaborators Aug 17, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants