読者です 読者をやめる 読者になる 読者になる

IEでselect要素のchangeイベントが発生しない場合の対応

セレクトボックスが変更されたら、連動して別の要素を更新するということをしますが、SeleniumでこれをテストするとIEのみchangeイベントが発生しないようです。この場合は、以下のようにSeleniumから強制的にイベントを発生させます*1

// IEでイベントが発生しない
selenium.select("selectId", "value=foo");

// jQueryの場合
selenium.runScript("$('#selectId').trigger('change')");

// NG
// selenium.fireEvent("selectId", "change")

*1:これだとIE以外では複数回イベントが発生してしまいますが