• Selenium Video Tutorials

Selenium WebDriver - 单选按钮



Selenium WebDriver 可用于处理网页上的单选按钮。在 HTML 术语中,每个单选按钮都由名为 input 的标签名标识。此外,网页上的每个单选按钮都将始终具有名为 type 的属性,其值为 radio

HTML 中单选按钮的标识

启动浏览器(例如 Chrome),右键单击网页,然后单击“检查”按钮。要识别页面上的单选按钮,请单击如下所示突出显示的左上方箭头。

Selenium Button Radio 1

单击箭头指向单选按钮(如下图所示突出显示)后,其 HTML 代码将可见,反映了 input 标签名和 type 属性的值为 radio。

Selenium Button Radio 2

单击并选中单选按钮

让我们以以上页面为例,我们将使用 click() 方法单击其中一个单选按钮。然后,我们将使用 isSelected() 方法验证单选按钮是否被选中。此方法返回布尔值(true 或 false)。如果单选按钮被选中,isSelected() 将返回 true,否则返回 false。

示例

package org.example;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;

public class HandlingRadioButton {
   public static void main(String[] args) throws InterruptedException {

      // Initiate the Webdriver
      WebDriver driver = new ChromeDriver();

      // adding implicit wait of 15 secs
      driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

      // Opening the webpage where we will identify radio button
      driver.get("https://tutorialspoint.com/selenium/practice/selenium_automation_practice.php");

      // identify radio button then click
      WebElement radiobtn = driver.findElement(By.xpath("//*[@id='gender']"));
      radiobtn.click();

      // verify if radio button is selected
      boolean result = radiobtn.isSelected();
      System.out.println("Checking if a radio button is selected: " + result);

      // Closing browser
      driver.quit();
   }
}

输出

Checking if a radio button is selected: true

Process finished with exit code 0

在上面的示例中,我们首先单击了一个单选按钮,然后在控制台中验证了该单选按钮是否被选中,消息为 - 正在检查单选按钮是否被选中:true

最后,收到消息 进程已完成,退出代码为 0,表示代码已成功执行。

统计单选按钮数量

让我们以以下页面为例,我们将计算单选按钮的总数。在这个例子中,单选按钮总数应为 3。

Selenium Radio 3

示例

package org.example;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.List;
import java.util.concurrent.TimeUnit;

public class HandlingRadioButton {
   public static void main(String[] args) throws InterruptedException {

      // Initiate the Webdriver
      WebDriver driver = new ChromeDriver();

      // adding implicit wait of 15 secs
      driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

      // Opening the webpage where we will identify radio button
      driver.get("https://tutorialspoint.com/selenium/practice/selenium_automation_practice.php");

      // Retrieve all radio buttons using locator and storing in List
      List<WebElement> totalRadioBtns = driver.findElements(By.xpath("//input[@type='radio']"));

      // count number of radio buttons
      int count = totalRadioBtns.size();
      System.out.println("Count the radio buttons: " + count);

      // Closing browser
      driver.quit();
   }
}

输出

Count the radio buttons: 3

在上面的示例中,我们计算了网页上单选按钮的总数,并在控制台中收到消息 - 单选按钮计数:3

验证单选按钮

让我们以上述网页为例,我们将对单选按钮执行一些验证。首先,我们将使用 isEnabled() 方法检查单选按钮是否启用/禁用。此外,我们将分别使用 isDisplayed()isSelected() 方法验证它是否显示和选中/未选中。

这些方法返回布尔值(true 或 false)。如果单选按钮被选中、启用和显示,则返回 true,否则返回 false。

示例

package org.example;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;

public class ValidateRadioButton {
   public static void main(String[] args) throws InterruptedException {
   
      // Initiate the Webdriver
      WebDriver driver = new ChromeDriver();
      
      // adding implicit wait of 15 secs
      driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
      
      // Opening the webpage where we will click radio button
      driver.get("https://tutorialspoint.com/selenium/selenium_automation_practice.htm");
      
      // identify radio button then click
      WebElement radiobtn = driver.findElement
         (By.xpath("//*[@id='practiceForm']/div[3]/div/div/div[2]/input"));
      radiobtn.click();
      
      // verify if radio button is selected
      boolean result = radiobtn.isSelected();
      System.out.println("Checking if a radio button is selected: " + result);
      
      // verify if radio button is displayed
      boolean result1 = radiobtn.isDisplayed();
      System.out.println("Checking if a radio button is displayed: " + result1);
      
      // verify if radio button is enabled
      boolean result2 = radiobtn.isEnabled();
      System.out.println("Checking if a radio button is enabled: " + result2);
      
      // identify another radio button
      WebElement radiobtn1 = driver.findElement(By.xpath("//*[@id='gender']"));
      
      // verify if radio button is not selected
      boolean result3 = radiobtn1.isSelected();
      System.out.println("Checking if the other radio button is unselected: " + result3);
             
      // Closing browser
      driver.quit();
   }
}

输出

Checking if a radio button is selected: true
Checking if a radio button is displayed: true
Checking if a radio button is enabled: true
Checking if the other radio button is unselected: false

在上面的示例中,我们验证了一个单选按钮是否显示、启用和选中,并在控制台中收到以下消息:正在检查单选按钮是否被选中:true,正在检查单选按钮是否显示:true,正在检查单选按钮是否启用:true正在检查另一个单选按钮是否未选中:false

结论

本教程全面介绍了 Selenium WebDriver 单选按钮。我们从描述 HTML 中单选按钮的标识开始,并通过示例来说明如何在 Selenium WebDriver 中处理单选按钮。这将为您提供 Selenium WebDriver 单选按钮的深入知识。明智的做法是继续练习您所学的内容,并探索与 Selenium 相关的其他内容,以加深您的理解并拓宽您的视野。

广告