2013-10-02 10 views
17

텍스트 입력란에 텍스트를 입력하면 제거됩니다.Selenium Webdriver : 텍스트 입력란에 텍스트 입력

String barcode="0000000047166"; 

WebElement element_enter = _driver.findElement(By.xpath("//*[@id='div-barcode']")); 

element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys("barcode"); 
+5

'barcode' 변수이 '에서 SendKeys (바코드)' –

+0

사용'에서 SendKeys (바코드)'@SubirKumarSao 말한대로처럼 통과입니다 'div-barcode' 필드는 유효하지 않은 바코드를 제거하는 유효성 검사를 가지고있을 것입니다. – Faiz

답변

20

는 수 비르 쿠마 상과 파이즈 동의 : 여기

는 코드입니다.

element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys(barcode); 
+0

아래에 언급 된 코드로 수행하고 있습니다. element_enter.findElement (By.xpath ("html/body/div [1]/div [3]/div [1]/form/div/div/input")) .sendKeys (바코드); 하지만 입력 한 후에 텍스트가 텍스트 필드에서 자동으로 제거된다는 문제가 있습니다. –

+0

"입력 한 후 텍스트가 자동으로 제거됩니다"라는 의미는 무엇입니까? –

+0

위의 코드를 사용하여 텍스트가 텍스트 필드에 표시되지 않습니다. (텍스트가 텍스트 필드에 입력되어 3 ~ 5 초 동안 사라집니다.) –

8

필드에 텍스트를 입력하여 텍스트가 자동으로 제거되는 경우가있었습니다. 그것이 사이트에 텍스트를 입력 한 후 Enter 키를 눌러야하는 일부 사이트 기능 때문이었습니다. 따라서 sendKeys 메소드로 바코드 텍스트를 전송 한 후에 바로 'enter'를 보내십시오. Selenium Keys 클래스를 가져와야합니다. 아래 내 코드를 참조하십시오. 나는 그것이 도움이되기를 바랍니다

import org.openqa.selenium.Keys; 

String barcode="0000000047166"; 
WebElement element_enter = driver.findElement(By.xpath("//*[@id='div-barcode']")); 
element_enter.findElement(By.xpath("your xpath")).sendKeys(barcode); 

element_enter.sendKeys(Keys.RETURN); // this will result in the return key being pressed upon the text field 

..

+0

예, 좋았습니다. 감사합니다. –

+0

고마워요. 다른 해결책이 없었을 때 도움이되었습니다. –

4

사용이 코드를.

driver.FindElement(By.XPath(".//[@id='header']/div/div[3]/div/form/input[1]")).SendKeys("25025"); 
+0

코드 태그에 코드를 넣어주세요 ... –

1

일부 유효한 조건의 경우 JavaScript 확인 ​​일 수 있습니다.

  1. 을하거나 텍스트 상자에 유효한 문자열 입력 확인 :
    두 가지 당신은 당신의 요구 사항에/C을 수행 할 수 있습니다.
  2. 또는 양식/요청을 게시 할 때까지 해당 텍스트 상자에 대해 루프를 설정하여 값을 입력하십시오.
String barcode="0000000047166"; 

WebElement strLocator = driver.findElement(By.xpath("//*[@id='div-barcode']")); 
strLocator.sendKeys(barcode); 
관련 문제