Selenium我无法在现场发送文字。 sendkeys不起作用

时间:2015-03-03 16:15:31

标签: java selenium

我有这段代码:

 <TD style="PADDING-BOTTOM: 2px; WIDTH: 100px" vAlign=top><LABEL class=REQUIRED_FIELD_LABEL>Identify Number </LABEL>
<OBJECT onblur=ftMaskEdit_NumerDOOnBlur(this) style="background-color: #dddddd; width: 100%; display: block; font-family: TAHOMA; margin-bottom: 1px; height: 20px; visibility: visible; font-size: 11px; top: 0px; left: 0px;" id=ftMaskEdit_1_NUMERDO class=FORM_TEXT_BOX classid=clsid:C932BA85-4374-101B-A56C-00AA003668DC VIEWASTEXT GroupID="PelneDaneWsp"><PARAM NAME="_ExtentX" VALUE="0"><PARAM NAME="_ExtentY" VALUE="50271"><PARAM NAME="_Version" VALUE="393216"><PARAM NAME="BorderStyle" VALUE="1"><PARAM NAME="ClipMode" VALUE="0"><PARAM NAME="MousePointer" VALUE="0"><PARAM NAME="Appearance" VALUE="1"><PARAM NAME="BackColor" VALUE="-2147483643"><PARAM NAME="ForeColor" VALUE="-2147483640"><PARAM NAME="PromptInclude" VALUE="-1"><PARAM NAME="AllowPrompt" VALUE="0"><PARAM NAME="AutoTab" VALUE="0"><PARAM NAME="HideSelection" VALUE="-1"><PARAM NAME="Enabled" VALUE="-1"><PARAM NAME="MaxLength" VALUE="64"><PARAM NAME="OLEDragMode" VALUE="0"><PARAM NAME="OLEDropMode" VALUE="0"><PARAM NAME="Mask" VALUE=">???######"><PARAM NAME="PromptChar" VALUE="_"></OBJECT></TD>

在网页上是一个文本框,我可以手动输入文本。在本文中,第一,第二和第三个位置必须是字母,接下来的6个位置必须是数字,例如。 “ABC111111”,“BBB222222”。 当我点击元素焦点是不同的。 在我的代码中:

System.out.println(driver.findElements(By.id("ftMaskEdit_1_NUMERDO")).size()); //1
    driver.findElement(By.id("ftMaskEdit_1_NUMERDO")).click();  
    System.out.println(driver.findElement(By.id("ftMaskEdit_1_NUMERDO")).isDisplayed()); //true
    System.out.println(driver.findElement(By.id("ftMaskEdit_1_NUMERDO")).isEnabled()); //true

当我尝试:driver.findElement(By.id("ftMaskEdit_1_NUMERDO")).clear();我遇到了错误: NoSuchElement异常元素不得隐藏,禁用或只读

当我发送密钥时:

driver.findElement(By.id("ftMaskEdit_1_NUMERDO")).click();
driver.findElement(By.id("ftMaskEdit_1_NUMERDO")).sendKeys(Keys.Home,"ABB111111')
什么都没发生。 我尝试使用机器人,动作和JavaScript,但我仍然无法发送文字:( 如何将密钥发送到此元素?

1 个答案:

答案 0 :(得分:1)

您尝试与之交互的文本框似乎位于嵌入对象中。

Selenium无法自动执行<object>标记内的任何内容.Selenium 无法自动执行任何嵌入式元素,例如<object><embed>