Нужно установить флажок в WebDriver - PullRequest
1 голос
/ 11 марта 2020

Мне нужно установить флажок Добавить графические процессоры. Веб-сайт https://cloud.google.com/products/calculator Существует код

WebElement checkAddGRU = new WebDriverWait(driver, 20)
            .until(ExpectedConditions.
                    presenceOfElementLocated(By.xpath("//md-input-container/md-checkbox/div[contains(text(),'Add GPUs')]")));
    WebElement numberOfGPU = new WebDriverWait(driver, 10)
            .until(ExpectedConditions.elementToBeClickable(By.xpath("//md-select[@placeholder='Number of GPUs']")));
    while (!numberOfGPU.isDisplayed()) {
        checkAddGRU.click();
    }

Но он не работает. Флажок оставлен пустым.

1 Ответ

0 голосов
/ 11 марта 2020

Причина, по которой вы не можете установить флажок, связана с наличием флажка в iframe. Попробуйте сначала переключиться на iframe, а затем установите флажок.

WebElement iframe = driver.findElement(By.cssSelector("#myFrame"));
driver.switchTo().frame(iframe); 
driver.findElement(By.xpath("//md-input-container/md-checkbox/div[contains(text(),'Add GPUs')]").click()

Снимок экрана: enter image description here

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