我一直试图用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]]