xpath работает правильно, но только один раз, когда я снова выполняю код, он работает неправильно - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть кнопка, которая остается в течение нескольких минут, например, 15 минут, если я нажимаю на эту кнопку в заданное время, то она открывает форму и закрывает ее. Но когда время истекло, кнопка исчезает, и никакие действия не должны выполняться. Когда я выполняю этот код, он работает один раз, но когда я повторяю его, он этого не делает. Вместо этого он открывает еще какую-то вкладку.

Я пробовал условие else, чтобы разобраться с этой проблемой, например кнопка ifотображается, затем выполняется код, если нет, тогда будет выполнено другое условие. К сожалению, когда кнопка исчезает, код ведет себя очень неправильно, он открывает ненужные вкладки.

        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        WebElement CheckIn=driver.findElement(By.xpath("/html/body/callingdr-app/apptemplate/div/div/div/page-tab/div/p-tabview/div/div/p-tabpanel[1]/div/div/ng-component/div[1]/div/div[2]/div/table/tbody/tr[1]/td[1]/button[1]"));
        if(CheckIn.isDisplayed()) {
            Actions builder=new Actions(driver);
            Action mouseovercheckin=builder.moveToElement(CheckIn).build();
            mouseovercheckin.perform();
            CheckIn.click();
            //Click on next , visit reason
            driver.findElement(By.xpath("/html/body/div[3]/div[1]/span/p-header/div/div[2]/button[1]")).click();
            //Click on next,history
            driver.findElement(By.xpath("/html/body/div[3]/div[1]/span/p-header/div/div[2]/button[2]")).click();
            //Click on next , Payment
            driver.findElement(By.xpath("/html/body/div[3]/div[1]/span/p-header/div/div[2]/button[2]")).click();
            //Close without filling intake form
            driver.findElement(By.xpath("/html/body/div[3]/div[1]/span/p-header/div/div[2]/button[2]")).click();
            System.out.println("CheckedIn successfully");
        }else {
            System.out.println("Appointment overrude , No show");
            }
        }```

Expected result is : when if condition true, form should open and then close.
Actual result: form opens but once ,not every time if button is still there.and if not , then else condition should be executed but it doesn't.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...