Наиболее вероятный сценарий, это то, что элемент просто не существует, когда вы пытаетесь его найти.Тем более, что вы пробовали четыре разных селектора.Это может произойти, когда страница загружается не полностью, когда вы пытаетесь найти элемент.Вы можете реализовать функцию ожидания, которая будет ожидать указанное количество секунд, пока элемент не будет существовать, быть видимым или активным.Я не уверен, на каком языке ваш Selenium, но вот версия на Java:
int timeoutSeconds = 30;
By locator = By.id("element-id"); //use any 'By' here
WebDriverWait wait = new WebDriverWait(driver, timeoutSeconds);
wait.until(ExpectedConditions.presenceOfElementLocated(locator));
driver.findElement(locator).click();
В качестве альтернативы, вы можете подождать, когда вы кликаете или видимы, используя эту строку вместо второй последней в приведенном выше примере:
wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
wait.until(ExpectedConditions.elementToBeClickable(locator));
Если вы используете язык, отличный от Java, вам придется искать API конкретного языка, чтобы найти правильный синтаксис.Насколько я знаю, Selenium не одинаков для разных языков, но я ожидаю, что он будет доступен в большинстве из них.