我有一个按钮:
<button id="saveBtn" data-dismiss="modal" class="btn btn-primary save">Save</button>
单击时,它会引发AJAX调用并修改页面:
$('.tab-pane').on('click', 'button.save', function() {
swot_type = $('#typeValue').val();
label = $('#label').val();
details = $('#details').val();
$.ajax({
url: '/add_swot_entry/',
type: "POST",
data: {
'type': swot_type,
'label': label,
'details': details
},
dataType: 'json',
success: function (data) {
$("#strength-group").append(
'<li id='
+ data.id +
' class="list-group-item item-display">'
+ data.label +
'</li>'
);}});});
它还通过data-dismiss
挂钩隐藏了引导模式。
除非我尝试使用Selenium进行操作,否则每次都可以正常工作:
browser.find_element_by_id("saveBtn").click()
虽然模态每次仍然会关闭,但自定义Javascript只会每隔四次或五次执行一次。大多数情况下页面未更改且服务器未与之通信。
我已尝试实施等待:
wait.until(EC.element_to_be_clickable((By.ID, elm)))
但它似乎没有帮助。我刚刚升级到最新版本的Selenium(3.3.3),但它仍然遇到了麻烦。我在Windows 10上使用Chrome。