2017-11-05 8 views
1

私は以下のHTMLを持っています。 3つのラジオボタンがある小さなウィンドウです。 3つの要素を持つulとして実装されています。コードの下には李内側のdivをクリックし、ラジオボタンを選択しますSelenium(liとして実装されています)を使用して選択されているラジオボタンを確認してください

WebElement v = driver.findElement(By.xpath("/html/body/div[4]/div/div[2]/div/div[1]/div[2]/ul/li[2]/div[1]")); 
JavascriptExecutor jsb = (JavascriptExecutor) driver; 
jsb.executeScript("arguments[0].click();", v); 

どのように私がクリックされた3つのラジオボタンのかを調べるのですか?この画面をもう一度開き、ラジオボタンのどれが選択されているかを知りたい。

HTML[![][1]] 2

答えて

0

は、情報の多くは、あなたの質問にはありません。興味のあるHTMLの画像は、「なし」が選択されていると仮定できます。通知された場合、ラジオボタンが選択されている場合、クラス名は"icon icon-dot-circle-o"です。

それ以外の場合、クラス名は「icon icon-circle-o」です。

どのボタンが選択されているかを理解するためにこの情報を使用できます。

+0

おかげで多くのことを。それは私が逃したものです。 – njosep

+0

@njosep喜んでお手伝いします。この回答または他の誰かがあなたの問題を解決した場合は、受け入れ済みとマークしてください:stackoverflow.com/help/someone-answers –

0

あなたの要素には​​-methodを使用して確認することができます。

0

あなたが共有したHTMLを見ると、最初にradio buttonのどれも選択されていません。だから最初の質問How do I find out which of the three radio button is clicked?は有効な質問ではないようです。 radio buttonSeleniumのいずれか/すべてを自由に選択/クリックできます。

今、あなたの条件が正しいradio buttonが選択されたかどうかを検証しているか、以下のコードブロックを使用することができない場合は、ラジオボタンを選択した後:

List<WebElement> radio_options = driver.findElements(By.xpath("//div[@class='rc-diolog-body']//ul/li/div[not(@class='icon icon-dot-circle-o')]")); 
    for(WebElement option:radio_options) 
     { 
      if(option.isSelected()) 
      { 
       System.out.println(option.getAttribute("innerHTML")); 
       break; 
      } 
     } 
関連する問題