【发布时间】:2014-11-16 15:12:06
【问题描述】:
尝试使用 webdriver sendkeys() 函数为文本字段发送/设置文本
这里是 HTML
<table class="gridtable" cellspacing="0" __gwtcellbasedwidgetimpldispatchingfocus="true" gwtcellbasedwidgetimpldispatchingblur="true" style="width: 100%;">
<thead>
<colgroup>
<tbody style="">
<tr class="GORM0XEDKD GORM0XEDME" onclick="">
<td class="GORM0XEDJD GORM0XEDLD GORM0XEDMD GORM0XEDNE">
<td class="GORM0XEDJD GORM0XEDLD GORM0XEDNE GORM0XEDGE">
<div style="outline:none;" tabindex="0"></div>
</td>
</tr>
</tbody>
<tbody style="display: none;">
<tfoot style="display: none;">
</table>
Xpath for the text field -
EmailTemplateEditorTemplateName= By.xpath("//*[contains(@class,'GORM0XEDJD GORM0XEDLD GORM0XEDNE GORM0XEDGE')]/div[1]");
-
尝试了以下选项。但是所有人都无法将文本发送到 EmailTemplateEditorTemplateName 文本字段
1. driver.findElement(DesignerLocators.EmailTemplateEditorTemplateName).sendKeys("yahooo"); 2. this.WaitForElement(DesignerLocators.EmailTemplateEditorTemplateName); WebElement tempname = driver.findElement(DesignerLocators.EmailTemplateEditorTemplateName); JavascriptExecutor rightexecutor = (JavascriptExecutor)driver; rightexecutor.executeScript("arguments[0].setAttribute('value','yahoo')", tempname); 3. WebElement Element=driver.findElement(DesignerLocators.EmailTemplateEditorTemplateName); Actions builder = new Actions(driver); builder.moveToElement(Element).sendKeys("yahoo").build().perform(); 4. WebElement Element=driver.findElement(DesignerLocators.EmailTemplateEditorTemplateName); Actions builder = new Actions(driver); builder.moveToElement(Element).click().sendKeys("yahoo").build().perform(); 5. WebElement Element=driver.findElement(DesignerLocators.EmailTemplateEditorTemplateName); Actions builder = new Actions(driver); builder.moveToElement(Element).click(Element).sendKeys("yahoo").build().perform(); click() 正在工作。
- 有趣的是 getText() 正在使用相同的 xpath 处理相同的文本字段。 String val=driver.findElement(DesignerLocators.EmailTemplateEditorTemplateName).getText();
- 只有 sendKeys() 不起作用。并且不会抛出任何错误。
- 请帮我在我的文本字段中设置/发送文本。
【问题讨论】:
-
请分享您遇到的错误或异常
-
sendKeys() 成功执行,但文本字段中未设置文本。所以我没有收到任何错误或异常。
-
如果使用原生 javascript?
-
是的..即使使用 javascript 无法在文本字段中设置/发送文本。
-
我在您的 HTML 中看不到任何输入元素。看起来您正在尝试将键发送到 div 元素?
标签: java javascript selenium xpath selenium-webdriver