У меня есть кнопка на моей веб-странице, которую я хочу нажать после ввода необходимой информации. В настоящее время я использую By, чтобы установить все элементы страницы, но хочу использовать WebElements для этой кнопки, а затем использовать Actions, чтобы щелкнуть ее позже.
Как я должен сделать это в моем классе Page Object.
Я попробовал с подходом ниже:
WebElement addressinput = driver.findElement(By.xpath("//input[@id='pac-input']"));
By addressinput = By.xpath("//input[@id='pac-input']");//this works fine
Но при запуске класса Test от имени TestNG он показывает исключение нулевого указателя в строке WebElement. Попытался сделать это и с помощью By, но кнопка просто не получит щелчок. Он прекрасно работает с WebElements, и действие, которое я пробовал раньше без использования POM ниже, является ссылочным кодом для этого:
WebElement button = driver.findElement(By.xpath("//button[@id='btn_gtservice']"));
Actions action = new Actions(driver);
action.moveToElement((WebElement) CheckAvailability).click().perform();
driver.switchTo().defaultContent();