문제

다음 지시

Selenium.typeKeys("location", "gmail.com");

문자열을 입력합니다 gmailcom 대신에 gmail.com.

거기서 무슨 일이 일어나고 있습니까?

의견에서 :
나는 자동 수실을 시뮬레이션하려고 노력하고 있으며 현재 셀레늄에서 수행하는 유일한 방법은 유형과 타입 키를 결합하는 것입니다. 예 :

selenium.type("assigned_to", split[0]+"@");
selenium.typeKeys("assigned_to", "gmail.com");

이제 내 질문은 왜 Typekeys가 gmail.com 사이에 '도트'를 입력하지 않습니까?

도움이 되었습니까?

해결책

기본 키 기능을 사용해 보셨습니까? JavaScript 숯 코드? 나는 그들을 사용하여 일할 '기간'캐릭터를 얻을 수 없었지만 (char 190), 나는 단지 10 진수 (char 110)를 잘 작동 시켰으며 텍스트 상자는 어느 쪽도 문제가 없어야합니다.

selenium.Focus("assigned_to");
selenium.Type("assigned_to", split[0]+"@");
selenium.TypeKeys("assigned_to", "gmail");
selenium.KeyPressNative("110");
selenium.TypeKeys("assigned_to", "com");

다른 팁

사용 type 방법.

로부터 타입 키를위한 Javadoc:

이 명령은 입력 키가 일반적으로 눈에 띄는 효과를 갖는 경우에도 눈에 보이는 효과가 있거나 없을 수 있습니다.

...

경우에 따라 Simple "Type"명령을 사용하여 필드 값을 설정 한 다음 "TypeKeys"명령을 설정하여 방금 입력 한 내용에 해당하는 KeyStroke 이벤트를 보냅니다.

우리는 셀레늄 파이썬에서 타입 키를 사용하는 비슷한 문제가있었습니다.

이 문제를 해결하기 위해 생각한 한 가지 해결 방법은 'type'과 'type_keys'의 조합을 사용하는 것입니다. 알고 있듯이 유형에는 그러한 문제가 없습니다.

우리는 셀레늄 파이썬 스크립트 에서이 작업을 수행했으며 잘 작동합니다.

예를 들어 : 텍스트 상자에 입력 할 이메일 주소가있는 경우 : test.me@test.me.uk

그럼

type(locator,’test.me@test.me.’)
type_keys(locator,’uk’)

어쩌면 매우 조잡한 방법일지도 모르지만 일을했습니다.

이것이 비슷한 문제를 가진 다른 사람에게 도움이되기를 바랍니다.

또한 글을 쓰기 전에 요소에 초점을 맞추십시오.

selenium.focus(locator);
selenium.typeKeys(locator, value);

내 경우에는 입력 유형 = 비밀번호를 처리했습니다.

문자열을 사용하여 입력 할 문자열을 가정하십시오 typeKeys "abc.xyz.efg"입니다. 그런 다음 사용할 수 있습니다 type 그리고 typeKeys 주어진 문자열을 작성하도록 명령.

type(locator,"abc.xyz.")
typeKeys(locator,"efg")

위의 두 단계는 드롭 다운 상자에서 요소를 선택할 때마다 유용하며 TypeKeys 명령을 사용하는 경우에만 드롭 다운이 팝업됩니다.

또한 Selenium RC (C#)를 사용할 때이 동작을보고 있으며 다른 문자가 있습니다 (예를 들어 'Y'도 타이핑 동작에서 문자를 제거하는 것처럼 보입니다.)

어떤 상황에서는 TypeKeys 또는 Keypress 기능으로 키를 입력하여 문제를 해결할 수 있지만 필드에 텍스트를 입력하려는 경우 작동하는 솔루션을 찾지 못하고 제어 문자를 입력했습니다 ( [입력] 또는 Newline을 예로 들어) 다음 더 많은 텍스트를 입력하십시오 .. (이 경우 '유형'함수 사용은 단순히 필드 내용을 덮어 씁니다 ...)

이 문제에 대한 합리적인 솔루션을 찾는 사람이 있다면, 지금 Google에서 나오기 시작하여 많은 사람들이 도움이 될 것입니다. (가능하다면 현상금을 시작할 것입니다 ..)

이것은 셀레늄의 열린 버그입니다 (버그 SEL-519).

그것과 함께 약간의 충격을받은 후, 나는 마침내 ''들어갔다. JavaScript를 사용하여 TextRea로. 같은 것을 실행하십시오 window.document.getElementById('assigned_to').value += '.' ~을 통해 storeEval 또는 같은.

동일한 동작을 얻었지만 변수를 문자열 대신 유형 명령에 전달하여 고정했습니다.

string email = @"name@gmail.com";
selenium.Type(inputfield, email);

그것은 매력처럼 작동합니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top