我陷入了这个问题:我们的网页有一个动态表,它将在div元素上加载值(学生的分数)。如果我们点击 said div,一个新的子元素input将被附加到div并且我们应该能够使用SendKeys方法输入一个新的标记。但是,当我尝试发送密钥时,会StaleElementReferenceException出现一个。
这是input添加时的元素(必须使用断点,因为一旦div元素失去焦点,元素就会消失):
<tr>
<td class="indice">1</td>
<td id="accion-1-alumno-0" data-tooltip="" title="Bustos, Guido" class="has-tip titulo">Bustos, Guido</td>
<td data-tooltip="" title="1º ESA" class="has-tip titulo">1º ESA</td>
<td class="nota relative media noeditable k-nivel2_tabla" style="text-align:center; color: #ed1c24!important">
<div id="accion-1-celda-0-0-0" class="elemento comentarios">2,00</div>
</td>
<td class="nota relative " style="text-align:center; color: #ed1c24!important">
<div id="accion-1-celda-1-0-0" class="elemento comentarios">
<input id="editor" type="text" value="2" maxlength="7">
</div>
</td>
<td class="nota relative " style="text-align:center; color: #000000!important">
<div class="elemento comentarios">
<span id="accion-1-editar-2-0" class="block left ellipsis span comentario" title=""></span>
<span id="accion-1-prismaticos-2-0" class="glyphicons glyph_observaciones observacion right"></span>
</div>
</td>
</tr>
这是我用来单击div并尝试的代码SendKeys:
IWebElement inputNota = SeleniumHelper.FindByXPath("//td[text() = '"+ nombreAlumno +"']/following-sibling::td/div[contains(@id, 'accion-1-celda')]");
SeleniumHelper.Click(inputNota);
SeleniumHelper.SendKeys(inputNota.FindElement(By.Id("editor")), nota);
谢谢你的时间