不能使用selenium(Python)的submit()

时间:2016-07-10 22:03:48

标签: python forms selenium

我使用driver.find_element_by_id('SearchProductName')查找包含以下HTML的元素:

<input autocomplete="off" name="SearchProductName" id="SearchProductName"
class="sg-input headerSearchBox ac_input" placeholder="Search for a 
product" tabindex="0">

它已正确识别此元素,并且我能够send_keys,但当我尝试submit()时,我收到以下错误。

selenium.common.exceptions.NoSuchElementException: Message: 
Element was not in a form so couldn't submit

我不明白如果元素是一个我可以send_keys的文本框,它不是一个我可以提交的表单。如何修复此问题以便在此元素上使用submit?

1 个答案:

答案 0 :(得分:3)

.submit()适用于FORM内的控件。这是一种在不单击“提交”按钮的情况下提交表单的快捷方式。在您的情况下,INPUT似乎不在FORM标记内,因此出现错误消息。我不知道你的页面是什么样的,但是用代码来做用户会做什么。用户填写输入...他们的下一步是什么?点击按钮还是?使用代码执行此操作,您应该能够在您的方案中取得进展。