2016-06-29 2 views
0
의 값 속성이없는 텍스트 상자에서 텍스트를 입력하세요

내 요소는 다음과 같습니다방법은 셀레늄

<input name="ctl00$PlaceHolderPopUp$ReviewName" 
     type="text" maxlength="255" id="PlaceHolderPopUp_ReviewName" 
     class="giInput_two inputHeight_two" 
     style="height:20px;width:100%;"> 

가져 오는 코드 :

String value=driver.findElement(By.xpath("//*@id='PlaceHolderPopUp_ReviewName']")).getText().trim(); 

내가 그 안에 텍스트를 입력하고 검색 할 저장하기 전에 텍스트. getText() 메서드를 사용했지만 텍스트를 검색하지 않습니다.

답변

-1

getAttribute("Value")을 시도 할 수 있습니다 읽으려면

, 당신은 다음과 같이 시도해야합니다 : -

WebElement el=driver.findElement(By.xpath("//*@id='PlaceHolderPopUp_ReviewName']")); 
String value = el.getAttribute("value"); 

: - input 요소를 항상 속성 속성 value에 입력 한 텍스트가 있습니다. 그들의 속성이 value이거나 존재하지 않는 것이 중요합니다. 희망이 있다면 도움이 될 것입니다. :)

+0

간단한 By.id()가 작동 할 때 XPath를 사용하지 마십시오. 그렇게 할 이유가 전혀 없습니다. 이 코드는 XPath를 사용하는 것보다 빠르고 작동합니다 :'String value = driver.findElement (By.id ("PlaceHolderPopUp_ReviewName")). getAttribute ("value");' – JeffC

+0

@JeffC 당신은 절대적으로 맞지만 OP의 질문이 아닙니다. 'xpath'보다 빠르다 ... 그는 단지 코드에서'input'으로부터 값을 얻는 법을 알고 싶어한다. ... –

+0

@JeffC 당신은 당신의 제안으로 그를 제안 할 수 있었지만 이것이 투표를위한 이유는 아니다 ... –

0

입력 할 문자열을 변수로 가져 와서 스크립트에서 사용할 수 있습니다. 예를 들면 다음과 같습니다.

String Text ="Name" 
Driver.findElement(By.xpath("//*@id='PlaceHolderPopUp_ReviewName']")).sendkeys(Text); 

텍스트 변수를 텍스트 상자에서 읽는 대신 원하는 곳 어디에서나 사용할 수 있습니다. 당신이 정말로 대상 요소가 input 요소 인 경우 대신 getText()