Selênio: submit () funciona bem, mas clique () não

Eu tenho o botão enviar, que é apenas um na página e está no formulário.

parte html:

<form class="search-form ng-touched ng-dirty ng-valid" novalidate="" style="" xpath="1">

<div class="row">...</div>
<div class="row">...</div>
<div class="row">...</div>
<div class="form__actions" xpath="1">
    <div class="form__buttons">
      <!---->
      <div class="btn__wrapper">
        <button class="btn btn__primary" type="submit">
          Select My Car
        </button>
      </div>
    </div>
  </div>

</form>

Então, eu estou usando o xpath:

//button[@type='submit']

Estou pressionando com sucesso via submit () (deixe-me pular o WebDriver init, tudo bem):

  WebElement searchButton = driver.findElement(By.xpath("//button[@type='submit']"));
  searchButton.submit();

(e algumas pesquisas são executadas)

Mas quando estou tentando pressioná-lo via click ()

WebElement searchButton = driver.findElement(By.xpath("//button[@type='submit']"));
        searchButton.click();

não é pressionado no navegador que é iniciado e, ao mesmo tempo, o teste Junit fica verde (não teste, mas apenas pressionando o botão):

@Test
    public void test() {
        WebElement button = driver.findElement(By.xpath("//button[@type='submit']"));
        button.click();
    }

Alguém pode por favor explicar, por que enviar () pressiona com êxito o botão nesse caso, mas clique em () - não. E eu não entendo, por que "teste" é verde, quando estamos tentando clicar (), mas não foi executado, se olhando no navegador iniciado pelo driver.

ATUALIZADA: eu tentei

WebElement button = driver.findElement(By.xpath("//button[@type='submit']"));
        if (button.isEnabled()) {
            button.click();
        }

e

WebDriverWait wait = new WebDriverWait(driver, 10);
        wait.until(ExpectedConditions.elementToBeClickable(button)).click();

mas ainda assim - submit () funciona bem, clique () - não funciona.

questionAnswers(4)

yourAnswerToTheQuestion