【发布时间】:2018-07-31 22:57:59
【问题描述】:
我陷入了这个问题:我们的网页有一个动态表,它将在div 元素上加载值(学生的分数)。如果我们点击上面提到的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);
感谢您的宝贵时间
【问题讨论】:
标签: c# html selenium exception