Selenium Auto使用Send_keys提交表单?

时间:2016-09-17 03:32:06

标签: python selenium selenium-webdriver

我使用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不要提交?

1 个答案:

答案 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")