2016-09-17 78 views
1

我正在使用Selenium 2.53和python 3.4 firefox 47来做自动化测试。当使用.send_keys(Java中的sendKeys)时,它会自动提交表单,当我不希望它。Selenium自动使用Send_keys提交表单?

,我要送键的形式输入:

<input tabindex="1" type="text" 
        name="PostingTitle" 
        id="PostingTitle" 
        maxlength="70" 
      </label> 

这很奇怪,因为它不这样做的所有形式。有没有办法告诉硒不要提交?

+0

什么字符串是你“发送键”送?那里有换行吗? – alecxe

+0

你可以分享发送字符串以及使用'send_keys()'?你发送输入密钥或其他?或者是否有任何事件发生在这个HTML的sendKeys? –

+0

感谢您的回复。没有新的行,也没有“输入”或“返回”或相关的键。 –

回答

1

当使用.send_keys(在Java中的sendKeys)它会自动提交表单,当我不希望它。

可能可以你想要的文本框的SendKeys这可能是调用任何JavaScript函数提交表单中捕捉重要事件,因为sendKeys通常从按键用户输入工作。

从评论: -

没有新线,没有“进入”或“回报”或相关的密钥。 在html上的sendKeys期间没有发生事件。

然后很难说为什么sendKeys提交你的表格。

您可以使用execute_script()代替这会默默的设定值到您的文本不存在的任何事件: -

driver.execute_script("arguments[0].value = arguments[1]", driver.find_element_by_id("PostingTitle"), "you‌​r value to set") 
+1

谢谢你做到了! –