Selenium IE更改事件未触发

dom*_*idc 5 selenium internet-explorer

我有一个选择框,上面有一个事件监听器:

$(document).ready(function () {
    $('#edit-era-code-select').change(function() {
      $.ajax({ 
        url: Drupal.settings.basePath+'era/js', 
        type: 'POST',
        data: "era_code_select="+$(this).val(),
        context: document.body, 
        success: function(){
        window.location.reload(true);
      }
    });  
  });
});
Run Code Online (Sandbox Code Playgroud)

在ie/ff/...中使用它时它会正常工作.当使用phpunit进行selenium测试时,我可以看到selectbox被更改但它不会触发jquery事件更改.它只发生在IE中.以下是执行该命令的代码:

AbstractSeleniumTestCaseIexplore::loginShib ( $user ['uid'] );
  $this->waitForElementPresent("//select[@id='edit-era-code-select']", 30000);
  $code = $this->getSelectedLabel("//select[@id='edit-era-code-select']");
  if ($code != 3333) {
    $this->select("edit-era-code-select", "label=3333");
    $this->waitForPageToLoad("30000");  
  }
  ...
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

dom*_*idc 9

我这样解决了.它不是最佳的,但它允许您继续并测试其他东西.

$this->runScript("$('#edit-era-code-select').change()");


s_h*_*itt 0

您是否尝试过将按键事件发送到选择而不是直接修改值?