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