### What happened?

https://seleniumhq.slack.com/archives/C0ABCS03F/p1677391208456589

I'm using an invalid element locator (for testing purposes) and I'm trying to identify that element within a fluent wait
The fluent wait is ignoring some exceptions (not including org.openqa.selenium.InvalidSelectorException)
Expected Behavior: the invalid selector exception should be thrown immediately
Actual Behavior: it gets caught and rethrown recursively until a timeout occurs, and then a timeout is thrown with the cause InvalidSelectorException
Here's a gist with the fluentWait block, the expected exceptions block, and a screenshot from the throwable object.
https://gist.github.com/MohabMohie/6c4d16bfca0ad7b15c3e274b631ecdf9
Is this a bug or am I doing something wrong?

### How can we reproduce the issue?

```shell
https://gist.github.com/MohabMohie/6c4d16bfca0ad7b15c3e274b631ecdf9
```


### Relevant log output

```shell
N/A
```


### Operating System

Windows 11

### Selenium version

Java 4.8.1

### What are the browser(s) and version(s) where you see this issue?

N/A

### What are the browser driver(s) and version(s) where you see this issue?

N/A

### Are you using Selenium Grid?

N/A
@Test
  void testShouldBeAbleToFindASingleElementByPartialLinkText() {
    driver.get(pages.xhtmlTestPage);
    WebElement element = driver.findElement(By.partialLinkText("anon"));
    assertThat(element.getText()).contains("anon");
  }
  @Test
  void testShouldFindElementByPartialLinkTextContainingEqualsSign() {
    driver.get(pages.xhtmlTestPage);
    WebElement element = driver.findElement(By.partialLinkText("Link="));
    assertThat(element.getAttribute("id")).isEqualTo("linkWithEqualsSign");
  }
  @Test
  void testShouldFindMultipleElementsByPartialLinkTextContainingEqualsSign() {
    driver.get(pages.xhtmlTestPage);
    List<WebElement> elements = driver.findElements(By.partialLinkText("Link="));
    assertThat(elements).hasSize(1);
    assertThat(elements.get(0).getAttribute("id")).isEqualTo("linkWithEqualsSign");
  }
  
  @Test
  void testDriverShouldBeAbleToFindElementsAfterLoadingMoreThanOnePageAtATime() {
    driver.get(pages.formPage);
    driver.get(pages.xhtmlTestPage);
    WebElement link = driver.findElement(By.linkText("click me"));
    assertThat(link.getText()).isEqualTo("click me");
  }
  
  @Test
  void testWhenFindingByNameShouldNotReturnById() {