java - 需要在WebDriver中选中一个复选框

标签 java selenium testing selenium-webdriver automated-tests

我需要勾选“添加 GPU”复选框。网站 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();
    }

但是这不起作用。该复选框至少为空。

最佳答案

您无法选择该复选框的原因是 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

关于java - 需要在WebDriver中选中一个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60637415/

相关文章:

java - 如何在java中返回选定的日期结果?

java - 我们可以使用 EWS Java API ver 2.0 jar 连接到 Exchange 2016 吗?

java - selenium中如何使用方法调用内部的各种方法并返回true

ios - 是否有类似 Android 上的 Monkey 的 iOS UI Exerciser?

javascript - 在客户端测试 Javascript

java - 跨平台 UI 间距/填充

java - 如何在 Java 中将本地时间转换为 LDAP 时间戳

python - 使用 Selenium Python 解析 HTML 并读取 HTML 表

python - Selenium 未向输入字段发送波浪字符 (~)

c# - 编写自定义测试框架