我正在尝试使用.sendKeys(…)
在表单中填写input
字段。
HTML我正在使用:
<tr>
<td class="multi-line required" style="min-width:120px;">Name:</td>
<td>
<div style="position:relative">
<span style="display:inline-block">
<input type="text" id="_96a1fa0eccfaf628" size="40" maxlength="64" placeholder="" name="96a1fa0eccfaf628" value="">
</span>
<font class="error">*</font>
</div>
</td>
</tr>
我正在使用的代码:
driver.findElement(By.id("_96a1fa0eccfaf628")).sendKeys("Test Org 002");
我也试过了By.name("96a1fa0eccfaf628")
,但是没有。
我得到的错误:http://pastebin.com/tZ8FSwqx
答案 0 :(得分:1)
我有类似的问题。首先单击input元素,然后清除,最后发送sendkeys。
driver.findElement(By.XX("your_selector")).click();
driver.findElement(By.XX("your_selector")).clear();
然后编写sendKeys函数。
答案 1 :(得分:1)
您的定位器似乎有问题(ID和名称都有一些动态和随机值)。尝试使用以下定位器
By.xpath("//td[contains(text(),'Name')]/following-sibling::td//input[@type='text']")
答案 2 :(得分:0)
元素ID是否以动态命名&#34; _96a1fa0eccfaf628&#34;或者这总是ID的名称?如果它是动态命名的,例如名称会更改每个会话,那么这可能是您的问题。如果元素总是被称为&#34; _96a1fa0eccfaf628&#34;然后我会尝试使用&#34;类型&#34;命令或使用单击命令单击该字段,然后执行sendKeys命令,在每个步骤之间使用400 ms的小暂停,看看是否有效。