ラジオボタンを選択してチェックBox in Selenium

ラジオボタンイン Selenium

ラジオ ボタンも click() メソッドを使用してオンに切り替えることができます。

使い方 https://demo.guru99.com/test/radio.html 練習として、radio1.click() が「Option1」ラジオ ボタンをオンに切り替えていることを確認します。radio2.click() は「Option2」ラジオ ボタンをオンに切り替えますが、「Option1」は選択されていません。

ラジオボタンイン Selenium

チェックボックスを選択する方法 Selenium

Togglチェックボックスのオン/オフも、 クリック() 方法。

以下のコードは、Facebook の「ログイン状態を維持する」チェックボックスを 2 回クリックし、オンになっている場合は結果を TRUE として出力し、オフになっている場合は FALSE として出力します。

チェックボックスを選択 Selenium

チェックボックスを選択 Selenium

isSelected() メソッドは、チェックボックスがオンかオフかを確認するために使用されます。

次に別の例を示します。 https://demo.guru99.com/test/radio.html

チェックボックスを選択 Selenium

完全なコード

完全に動作するコードは次のとおりです

import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.chrome.ChromeDriver;		
import org.openqa.selenium.*;		

public class Form {				
    public static void main(String[] args) {									
    		
    	// declaration and instantiation of objects/variables		
        System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe");					
        WebDriver driver = new ChromeDriver();					

        driver.get("https://demo.guru99.com/test/radio.html");					
        WebElement radio1 = driver.findElement(By.id("vfb-7-1"));							
        WebElement radio2 = driver.findElement(By.id("vfb-7-2"));							
        		
        //Radio Button1 is selected		
        radio1.click();			
        System.out.println("Radio Button Option 1 Selected");					
        		
        //Radio Button1 is de-selected and Radio Button2 is selected		
        radio2.click();			
        System.out.println("Radio Button Option 2 Selected");					
        		
        // Selecting CheckBox		
        WebElement option1 = driver.findElement(By.id("vfb-6-0"));							

        // This will Toggle the Check box 		
        option1.click();			

        // Check whether the Check box is toggled on 		
        if (option1.isSelected()) {					
            System.out.println("Checkbox is Toggled On");					

        } else {			
            System.out.println("Checkbox is Toggled Off");					
        }		
         
        		
        		
        //Selecting Checkbox and using isSelected Method		
        driver.get("https://demo.guru99.com/test/facebook.html");					
        WebElement chkFBPersist = driver.findElement(By.id("persist_box"));							
        for (int i=0; i<2; i++) {											
            chkFBPersist.click (); 			
            System.out.println("Facebook Persists Checkbox Status is -  "+chkFBPersist.isSelected());							
        }		
		//driver.close();		
        		
    }		
}

トラブルシューティング

要素の検索中に NoSuchElementException() が発生した場合は、Web ドライバーがページにアクセスした時点でその要素がページ内に見つからなかったことを意味します。

  1. Chrome の Firepath または Inspect Element を使用してロケーターを再度確認します。
  2. コードで使用した値が Firepath の要素の値と異なるかどうかを確認してください。
  3. いくつかのプロパティは、いくつかの要素に対して動的です。値が異なり、動的に変化していることがわかった場合は、より信頼性が高く複雑な方法である By.xpath() または By.cssSelector() の使用を検討してください。
  4. 場合によっては、待機の問題である可能性もあります。つまり、ページが完全に読み込まれる前に Web ドライバーがコードを実行した場合などです。
  5. 暗黙的または明示的な待機を使用して、findElement() の前に待機を追加します。

製品概要

  • 以下の表は、上で説明した各タイプの要素にアクセスするためのコマンドをまとめたものです。
素子 Command 詳細説明
チェック Box, ラジオボタン クリック() 要素のオン/オフを切り替えるために使用します