2016-08-11 15 views
1

私はこのHTML選択ラジオボタン[C#の]

<div class="Radio"> 
<label> 
    <input class id="checkbox" name="category" type="radio" value="1"> 
    <strong> TONY STARK </strong> 
</label> 

<label> 
    <input class id="checkbox" name="category" type="radio" value="2"> 
    <strong> IRON MAN </strong> 
</label> 

<label> 
    <input class id="checkbox" name="category" type="radio" value="3"> 
    <strong> ROBERT DOWNEY </strong> 
</label> 

を有するユーザが、柔軟なパラメータとして渡すように私はROBERT DOWNEYIRON MANTONY STARKに基づいて、ラジオボタンを選択する必要が

Iこれを試しましたが、他の簡単な方法は間違いなく私を助けるでしょう!

driver.FindElement(By.Id("checkbox")); 
for(WebElement radiobutton: radiobuttons) 
{ 
    if(radiobutton.getAttribute("value").equals("TONY STARK")) 
    radiobutton.click(); 
} 

答えて

0

をお試しください: -

string Xpath = ".//input[following-sibling::strong[contains(.,'TONY STARK')]]"; 

それとも

string Xpath = ".//label[contains(.,'TONY STARK')]/input"; 

ラジオを見つけるために、これらのXpathのいずれかを使用しますボタンを次のように入力します。

var radio = driver.FindElement(By.Xpath(Xpath)); 
radio.Click(); 
+0

すごくうまくいっています!だから、@Saurabh、どうすれば** value **によってテキストを見つけることができますか? – cashanzlo

+0

申し訳ありませんが、私はあなたが何を求めているのか理解できませんでしたか?どの値によってテキストを探したいですか? –

2

これを行うにはxpathを使用できます。あなたは、単一のラジオボタンを取得するにはXpathを使用して試してみて、以下のようにループを避ける必要があります以下のxpath .//label[contains(text(),'TONY STARK')]/input[@id='checbox']

0

インデックス

IWebElement radioButton = driver.FindElement(By.XPath("//*[@type='radio'][1]"); 
radioButton.Click(); 

でXPathを使用して場所:

アスタリスク*はワイルドカード文字を意味します。

[1]はラジオボタンオプションの位置です(「TONY STARK」)

関連する問題