2016-06-16 16 views
0

このエラーを修正するのを助けてください。受信エラーとして:異なる分割のためにxpathを持つ要素を見つけることができません

テキストエリア

<td nowrap=""> 
<script> 
function clipBrdAction(evt, fieldName) { 
    evt = evt||window.event;  
    if(evt.ctrlKey && evt.keyCode==67) {  
     document.execCommand('copy');  
     //var temp = $(fieldName).value;  
     //clipboardData.setData('Text', temp);  
     //$(fieldName).value = clipboardData.getData('Text');  
    }  
    else if(evt.ctrlKey && evt.keyCode==86) { 
     document.execCommand('paste');  
     //$(fieldName).value = clipboardData.getData('Text');  
    }  
    else if(evt.ctrlKey && evt.keyCode==88) {  
     document.execCommand('cut');  
     //var temp = $(fieldName).value;  
     //clipboardData.setData('Text', temp);  
     //$(fieldName).value = '';  
    } else if(evt.keyCode==46) {  
     document.execCommand('delete');  
     //var selStart = $(fieldName).selectionStart;  
     //var selEnd = $(fieldName).selectionEnd;  
     //var fieldLen = $(fieldName).value.length;  
     //if (selEnd == fieldLen)   
     // temp = $(fieldName).value.substr(0,selStart);  
    //else if (selEnd > selStart)  
     // temp = $(fieldName).value.substr(0,selStart)+ $(fieldName).value.substr(selEnd, fieldLen);  
    //else  
     // temp = $(fieldName).value.substr(0,selStart)+ $(fieldName).value.substr((+selEnd + +1), fieldLen);  

    //clipboardData.setData('Text', temp);  
    //$(fieldName).value = clipboardData.getData('Text');  
} 
</script> 

<textarea id="nrpsFilter" rows="3" onkeypress="return checkIt(event,'');" cols="30" title="" onblur="this.value=trim(this.value);" onkeyup="" onkeydown="return clipBrdAction(event, 'nrpsFilter');" name="nrpsFilter"/> 
</td> 

にある要素のタグの下

のxpathを持つ要素を見つけることができません。そして、私のコードは次のとおりです。

driver.findElement(By.xpath("//*[@id='nrpsFilter']")).sendKeys("*1??0*"); 

Firepathでは、要素が識別可能で、後でunという別の要素を検索すると同じ除算(divタグ)であるが、別の除算から要素を検索した後には識別できない。それは私のコード内の部門に切り替える必要がありますか?両方の部門は同じフレームの下にあります。

+0

だけでなく、あなたのHTMLソースコードを投稿 –

+0

申し訳ありませんが、イムソースコードを共有することはできません。 – Madhav

+0

okですiframe内のtextareaは –

答えて

0

これで、Sendkeysを使用する直前に、コードが問題なく動作することを確認した後、最初にiframeに切り替えてください。

driver.switchTo().frame("frame name"); 
// perform your action 
// after you have performed all your action inside the iframe 
// plz switch back to the default content 

driver.switchTo().defaultContent(); 
// now perform your user action outside that iframe 

希望はこれがあなた

+0

また、plzはhttp://stackoverflow.com/questions/9942928/how-to-handle-iframe-in-webdriverを見ています –

+0

ありがとうRaj。私はswitchTo()関数を追加し、コードは次のようになります: – Madhav

+0

'driver.switchTo()。frame( "bodyframe"); \t driver.findElement(By.xpath( "// * [@ id = 'first'] // span"))。 //(1。ドロップダウンをクリック) \t driver.findElement(By.xpath( "// * [@ id = 'ui-id-33']/span))。 //(2)SubDropDownをクリックします) \t driver.findElement(By.xpath( "//テキストが検索されます)" [@ id = 'referential_quicksearch'] "))。 ; //(3。リンクをクリックしてください) \t driver.switchTo()。defaultContent(); \t //driver.switchTo().frame("bodyframe)); \t driver.findElement(By.xpath( "// * [@ id = 'nrpsFilter']"))sendKeys( "1?0 *"); //(textAreaで入力してください) ' – Madhav

0

はこれを試してみて、それが動作するかどうかを確認できます。私はあなたのコメントからそれを取ったが、カップルのステートメントを並べ替えた。私は最終的にsendkeys()IFRAMEにあることを望むと思いますか?私たちは本当にさらに完全なHTMLを必要としています。

driver.findElement(By.xpath("//*[@id='first']//span")).click(); // (1. Click Dropdown) 
driver.findElement(By.xpath("//*[@id='ui-id-33']/span")).click(); // (2. Click SubDropDown) 
driver.findElement(By.xpath("//a[contains(text(),'Quick Search')][@id='referential_quicksearch']")).click(); // (3.Click the link) 
driver.findElement(By.xpath("//*[@id='nrpsFilter']")).sendKeys("1?0*");// (Enter in textArea) 
driver.switchTo().defaultContent(); 
関連する問題