你能帮忙解决这个错误。收到错误:
无法找到带有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>
我的代码是:
driver.findElement(By.xpath("//*[@id='nrpsFilter']")).sendKeys("*1??0*");
在Firepath中,元素是可识别的,当我搜索同一分区(div标签)下的另一个元素但在搜索不同分区的元素后无法识别。这是否意味着我应该切换到我的代码中的分区?这两个部门都在同一框架下。
答案 0 :(得分: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
希望这有助于你
答案 1 :(得分: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();