Как я могу нажать кнопку углового приложения с помощью selenium

#angular #selenium #selenium-webdriver #automation

Вопрос:

Я могу успешно войти в систему, но есть кнопка «Начать новое бронирование», но мой скрипт не нажимает на эту кнопку.

  import org.openqa.selenium.JavascriptExecutor;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.chrome.ChromeDriver;
 import com.paulhammant.ngwebdriver.ByAngular;
 import com.paulhammant.ngwebdriver.NgWebDriver;
 import org.openqa.selenium.support.ui.WebDriverWait;
 import org.openqa.selenium.support.ui.ExpectedConditions;
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.ui.Wait;

 public class NewClass {

 public static void main(String[] args) throws InterruptedException {
    
    System.setProperty("webdriver.chrome.driver",
            "C:\Users\Hp\Downloads\chromedriver_win32\chromedriver.exe");
        ChromeDriver driver = new ChromeDriver();
                    NgWebDriver ngWebDriver = new NgWebDriver(driver);
                    ngWebDriver.waitForAngularRequestsToFinish();
        driver.get("https://visa.vfsglobal.com/gbr/en/mlt/login");
                    driver.manage().window().maximize();
                    WebDriverWait wait = new WebDriverWait(driver, 30);
                    wait.until(ExpectedConditions.elementToBeClickable(By.id("onetrust-accept-btn-handler"))).click();
                    
                    // Login                     
                    
                    driver.findElement(By.id("mat-input-0")).sendKeys("*****@gmail.com");
                    driver.findElement(By.id("mat-input-1")).sendKeys("password");
                    
                    
                    driver.findElement(By.xpath("/html/body/app-root/div/app-login/section                /div/div/mat-card/form/button")).click();
                                 
                    driver.findElement(By.className("mat-button-wrapper")).click();
                                    
 }

}
 

Пример Изображения Здесь изображение

Помогите мне, как я могу нажать на эту кнопку. в чем проблема , как я могу ее решить?

Ответ №1:

Попробуй эту линию . на самом деле работает на меня

 Thread.sleep(10000);

driver.findElement(By.xpath("/html/body/app-root/div/app-dashboard/section/div/div[2]/button")).click();
 

Комментарии:

1. Чем его работа

2. добро пожаловать. Продолжайте публиковать приятные проблемы.

3. как вы можете предоставить xpath без html-кода ?

4. внутри драйвера есть ссылка на веб-сайт.get(); перейдите по ссылке и проверьте, получите ли вы код xpath