Python Selenium未正确处理我的javascript对话框

Python Selenium未正确处理我的javascript对话框,python,ajax,selenium,flask,python-behave,Python,Ajax,Selenium,Flask,Python Behave,我已经花了5个小时试图找到一个从昨天开始就困扰着我的解决方案。我正在使用behave和selenium编写一些BDD测试,以测试我的web应用程序的产品添加功能。 因此,要添加产品,用户必须单击一个按钮,该按钮将启动一个包含表单的对话框,该表单将允许用户填写他想要添加的产品的详细信息。当用户单击submit时,对话框消失,JS代码使用Ajax请求用新产品更新表。 当我启动测试时,selenium会找到产品添加表单并填写我提供的详细信息,问题是当它单击submit时,基本上什么都没有发生,我的JS

我已经花了5个小时试图找到一个从昨天开始就困扰着我的解决方案。我正在使用behave和selenium编写一些BDD测试,以测试我的web应用程序的产品添加功能。 因此,要添加产品,用户必须单击一个按钮,该按钮将启动一个包含表单的对话框,该表单将允许用户填写他想要添加的产品的详细信息。当用户单击submit时,对话框消失,JS代码使用Ajax请求用新产品更新表。 当我启动测试时,selenium会找到产品添加表单并填写我提供的详细信息,问题是当它单击submit时,基本上什么都没有发生,我的JS代码不会执行。以下是提交表单的行为代码:

@when(u'I click on Add new product')
def subscribe_click(context):
    context.browser.find_element_by_id('add-submit').click()
接下来是真正处理表单提交的JS函数

函数提交表单(表单,上传数据)
{
data_serialized=$(form).serializedArray();
数据={
“csrf_令牌”:数据已序列化[0]。值,
“名称”:已序列化的数据[1]。值,
“说明”:数据已序列化[2]。值,
“价格”:数据已序列化[3]。值,
“图像”:上载\u data.data?上载\u data.data.image:”
};
$.ajax({
键入:“放置”,
url:“/api/products/”+行数据[0],
数据:数据,
数据类型:“json”,
成功:功能(数据){
$(“编辑frm”).fadeToggle(“快速”);
新数据=[
数据['name'],
数据['description'],
数据[‘价格’],
数据['image']
]
$('#myTable').dataTable().fUpdate(data.data,行索引,未定义,1);
},
错误:函数(resp){
$(“编辑frm”).fadeToggle(“快速”);
alertify.alert(“您的请求有问题,请重试。”)
}
});

}
事实上,Selenium并不在乎它是ajax还是其他东西。你能展示提交请求的按钮的HTML示例吗?是的,当然在这里:那么,为什么你认为它没有提交?你试过等待回复吗?如果整个测试如上所述,它将不等待任何东西,并将关闭浏览器(浏览器将没有时间处理电子请求)是@Stanjer我尝试等待了大约30秒,但都不起作用,因此不确定是否存在问题。提供整个测试可能会让事情变得更清楚。