我正在尝试为提交表单编写硒测试,该表单在提交时会使用intercooler.js。我遇到的主要问题是,当我导航到页面时,表单具有class="disabled"
,这是不期望的行为,因此我无法提交表单。 intercooler
文档的相关部分说:
默认情况下,中冷器会将禁用的类应用于元素 触发中冷器请求。这可以用来给 向用户的视觉提示,他们不应单击或以其他方式单击 再次触发请求,并且对Bootstrap友好。
但是,在我看来,在我实际提交表单之前,已将禁用的类添加到了form元素,据我所知,应该仅在进行中的请求之后添加该类。
当前表单如下:
<form ic-post-to="/dashboard/calculate/2/exports/" ic-select-from-response="#content" ic-target="#content" method="post" ic-src="/dashboard/calculate/2/exports/" ic-verb="POST" ic-trigger-on="default" ic-deps="ignore" class="disabled">
<input type="hidden" name="csrfmiddlewaretoken" value="...">
<input type="submit" name="new" value="New" class="btn btn-primary float-right ml-1" id="submit-id-new">
</form>
我尝试添加explicit
和implicit
等待,以便将整个页面加载,但问题仍然存在。
任何帮助,将不胜感激。
答案 0 :(得分:2)
尝试使用Javascript
单击按钮:
submit = driver.find_element_by_id("submit-id-new")
driver.execute_script("arguments[0].click();", submit)
答案 1 :(得分:1)
事实证明我在错误的地方等待。提交表单后,我应该一直在等待,以便页面内容得以更新。