2013-08-09 5 views
0

인사말! 테스트 용으로 selenium 웹 드라이버에서 "텍스트 상자"를 식별하려하지만이를 식별 할 수 없습니다. 내가 시도하는 모든 조합은 나에게 오류를 준다. 나를 위해 모든 블로그를 읽으십시오. 그러나 텍스트 상자를 식별하고 'xpath': // input [@ class = 'amInput55p portlet-form-input-field']을 사용하여 셀렌 IDE를 사용하여 값을 입력 할 수 있습니다. IDE 코드를 Java/JUnit 4/WebDriver로 변환하려고 시도하지 않았습니다.셀렌 웹 드라이버에서 텍스트 상자를 식별하는 방법

<div id="portal-content" class="content" style="height: 99%;"> 
<img onerror="alert('[POP.016.0041] Please deploy wm_cafshared.war.')" style="position:absolute;z-index:-1;" alt="" src="/wm_cafshared/ui/img/blank.gif"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script type="text/javascript"> 
<script src="/wm_cafshared/dyn/j/ui/js/controls/standard/dialog.js?l=en_US&v=100922171045" type="text/javascript"> 
<script type="text/javascript"> 
<div id="jsfwmp340233:module" class="vModule"></div> 
<form id="jsfwmp340233:htmlForm1" enctype="application/x-www-form-urlencoded" action="/meta/default/amaccountmaintenance___search/0000340233?wmp_tv=%2fSearch%2fdefault.view&wmp_rt=action&wmp_tc=340233&__ns=wmp340233" method="POST" name="jsfwmp340233:htmlForm1"> 
<div id="jsfwmp340233:htmlForm1:breadcrumb" class="ambreadcrumb"></div> 
<div id="jsfwmp340233:htmlForm1:blockPanel42" class="amRowGutterMargin2"></div> 
<div id="jsfwmp340233:htmlForm1:amScreenWrapper"> 
<div id="jsfwmp340233:htmlForm1:blockPanel3" class="amApplicationTitleBar"> 
<div id="jsfwmp340233:htmlForm1:blockPanel" class="clear"></div> 
<div id="jsfwmp340233:htmlForm1:content"> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:blockPanel2" class="amApplicationWrapper" style="height: 30px;"> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:blockPanel32" class="amContentWrapper"> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:blockPanel4" class="amRowGutterMargin6 "></div> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:blockPanel133" class="amRequiredModule"> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:blockPanel134" class="amTitle"> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:blockPanel135" class="clear"></div> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:promptFieldID" class="amPromptFields" style=""> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:promptFieldID__content"> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:blockPanel61" class="amRowGutterMargin2"></div> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:requiredFieldsMsgPanel" class="amInfoMessagesPanel readonly"> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:blockPanel137" class="amPromptFieldColumn50p "> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:blockPanel139" class="amField100p"> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:blockPanel140" class="amOptionalPromptLabel"> 
<div id="jsfwmp340233:htmlForm1:importView:htmlForm:blockPanel145" class="amInputWrapper50p"> 
<input id="jsfwmp340233:htmlForm1:importView:htmlForm:txtAccountNumID" class="amInput55p portlet-form-input-field" type="text" onkeypress="allowNumber(event);" onkeydown="var searchButton = 'jsfwmp340233:htmlForm1:importView:htmlForm:btnSearch'; if((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) { document.getElementById(searchButton).click(); return false; }else return true;" maxlength="10" value="" name="jsfwmp340233:htmlForm1:importView:htmlForm:txtAccountNumID"> 
</div> - this is tag for text box 

모든 조합 xpath를 시도했지만 cssSector가 작동하지 않았습니다. -AmSearch.findElement (By.id ("jsfwmp33948 : htmlForm1 : importView : htmlForm : txtAccountNumID")));

  • AmSearch.findElement(By.xpath("//*[@id='portal-content']/form/div[3]/div[1]/div[1]/div[2]/div[2]/div[1]/div[3]/div[1]/div[2]/input"));

  • 모든 옵션의
  • AmSearch.findElement(By.cssSelector("id$=txtAccountNumID"));

  • AmSearch.findElement(By.xpath("//input[@class='amInput55p portlet-form-input-field']"))

(동적 텍스트 상자에 대한 ID는 다음 수를 예측뿐만 아니라이 제공) 오류 발생 :

Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"//*[@id='portal-content']/form/div[3]/div[1]/div[1]/div[2]/div[2]/div[1]/div[3]/div[1]/div[2]/input"} 
Command duration or timeout: 0 milliseconds 
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element 
Build info: version: '2.33.0', revision: '4e90c97', time: '2013-05-22 15:33:32' 
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_21' 
Session ID: 4b36db92-7d80-43a9-aea4-309270ee77e0`enter code here` 
Driver info: org.openqa.selenium.firefox.FirefoxDriver`enter code here` 

제발 좀 도와주세요. 모든 도움을 주시면 감사하겠습니다.

답변

0

cssSelector가 닫습니다. 다음을 시도하십시오. By.cssSelector(input[id$='txtAccountNumID'])

+0

행운을 비네. Eclipse에서 txtAccountNumID에 '잘못된 char 상수'오류가 발생했습니다. 여전히 동일한 오류가 추가되었습니다. AmSearch.findElement (By.cssSelector ("input [id $ = 'txtAccountNumID']")); – Shiva

+1

아, 네. 미안 해요, 그걸 저렇게 쓰고 있었어요. IFrame에 요소가 있습니까? –

+0

예. Iframe에 있습니다.