我使用Selenium 2.53和python 3.4 firefox 47进行自动化测试。当使用.send_keys(Java中的sendKeys)时,它会在我不想要时自动提交表单。
我发送密钥的表单输入是:
<input tabindex="1" type="text"
name="PostingTitle"
id="PostingTitle"
maxlength="70"
</label>
这很奇怪,因为它不会对所有形式都这样做。有没有办法告诉selenium不要提交?
答案 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"), "your value to set")