### Feature and motivation

Currently `Select` methods work even the `option` is disabled. Or `select` is disabled.

I suggest these `selectByFoo` methods should throw an exception. 

### Usage example

```java
new Select(element).selectByVisibleText("fish");
```


### Pull request

see https://github.com/SeleniumHQ/selenium/pull/10814
element.findElements(By.xpath(".option[contains(., " +
                                        Quotes.escape(subStringWithoutSpace) + ")]"));
      }
      String trimmed = text.trim();
      for (WebElement option : candidates) {
        if (trimmed.equals(option.getText().trim())) {
          setSelected(option, true);
          if (!isMultiple()) {
            return;
          }
          matched = true;
        }
      }
    }
    if (!matched) {
      throw new NoSuchElementException("Cannot locate option with text: " + text);
    }
  }
  private String getLongestSubstringWithoutSpace(String s) {
    String result = "";
    StringTokenizer st = new StringTokenizer(s, " ");
    while (st.hasMoreTokens()) {
      String t = st.nextToken();
      if (t.length() > result.length()) {
        result = t;
      }
    }
    return result;
  }
  /**