我一直在尝试使用AOL邮件服务(发送短信)进行一些自动化测试。我想将文本插入文本框并提交,但是它始终失败。在AOL Web界面中,我必须键入消息,然后单击“ Enter”提交或发送。这是文本框的外观:
<div id="dijit__Widget_66" class="inputContainer" layoutalign="bottom" data-dojo-type="ws/widget/Pane" widgetid="dijit__Widget_66">
<textarea class="wsInput" tabindex="201" data-dojo-attach-event="onkeyup: onKeyUp, onkeypress: onKeyPress, onblur: onBlurTextarea" data-dojo-attach-point="messageInput" style="width: 316px;"></textarea></div>
我选择文本并将其插入文本框区域的代码可以正常工作:
IWebElement ele = driver.FindElement(By.CssSelector("div[id*='dijit__Widget'].inputContainer>textarea.wsInput"));
ele.Clear();
ele.SendKeys("Hello");
但是当我想提交文本时,事情变得复杂了,这些都不起作用:
ele.Submit();
ele.SendKeys(Keys.Enter);
SendKeys(Keys.Enter)
仅将新行添加到文本框中,而不提交和发送消息。我正在拼命寻求帮助!
**我发现Selenium IDE中的命令Keypress
-Value: "013"
(Enter键)有效。但这仅适用于Selenium IDE,当导出到Webdriver时,会出现此错误:
// ERROR: Caught exception [ERROR: Unsupported command [keyPress | css=div[id*='dijit__Widget'].inputContainer>textarea.wsInput | 013]]