получение исключения не кликабельно (элемент не кликабельно в точке) - PullRequest
0 голосов
/ 13 июля 2020

1. Фактически последние 2 дня я пытаюсь решить это исключение, но оно все еще не работает. Поэтому, пожалуйста, предложите, в чем может быть проблема, даже если я использую правильный xpath, но я все еще получаю это исключение.

Я использую ниже xPath
deliveryChannel=//statusdropdown[@id="deliveryChannelField"]//select  

для этого xpath, я получаю исключение, этот Xpath я использую в тесте case (Test(priority = 4))

printStatus = //statusdropdown[@id="releaseStatusDropDown"]//select

Здесь нет исключения

@Test(priority = 4)
    public void deliveryChannel() throws InterruptedException {
        wait = new WebDriverWait(driver, 10);
        
        String getDeliveryChannel = sftpCon.deliveryChannel("Search Criteria", 0);
    //WebElement deliveryChannelDropDown = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(prop.getProperty("deliveryChannel"))));
        WebElement deliveryChannelDropDown = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(prop.getProperty("deleverysize"))));
        System.out.println("Delevery Channel Text = "+deliveryChannelDropDown.getText());
        select = new Select(deliveryChannelDropDown);
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        List<WebElement> listSelectApp = select.getOptions();
        for (int i = 0; i < listSelectApp.size(); i++) {
            String app = listSelectApp.get(i).getText();
            if (getDeliveryChannel.contains(app)) {
                listSelectApp.get(i).click();
            }
        }
    }

    @Test(priority = 5, retryAnalyzer = com.brcc.tool.RetryFailedTestCases.RetryTestCases.class)
    public void getPrintStatus() throws InterruptedException {
        wait = new WebDriverWait(driver, 10);
        String printStatus = sftpCon.deliveryChannel("Search Criteria", 1);
        WebElement printStatusDropDown = wait
                .until(ExpectedConditions.visibilityOfElementLocated(By.xpath(prop.getProperty("printStatus"))));
        select = new Select(printStatusDropDown);
        List<WebElement> listSelectApp = select.getOptions();
        for (int i = 0; i < listSelectApp.size(); i++) {
            String app = listSelectApp.get(i).getText();
            if (printStatus.contains(app)) {
                listSelectApp.get(i).click();
            }
        }
    }

Ниже мой html элемент

<div class="col-md-8">
<statusdropdown id="deliveryChannelField" ng-reflect-selected-status="print" ng-reflect-optional-status="[object Object]" ng-reflect-return-key="delivery_channel_name" ng-reflect-display-key="delivery_channel_description">
<select class="form-control" name="statusDropdown">
<!--bindings={  "ng-reflect-ng-for-of": "[object Object]"
}-->
<option value="print" ng-reflect-value="print">Print</option>
</select>
</statusdropdown>
</div>

1 Ответ

0 голосов
/ 13 июля 2020

Вместо visibilityOfElementLocated(), я думаю, вы могли бы использовать elementToBeClickable(). Если это не сработает, то я думаю, что с этим веб-сайтом что-то есть, и вам придется отредактировать свой вопрос, чтобы предоставить веб-сайт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...