2017-03-13 3 views
1

一意のIDまたはクラスを持たないページ要素を選択しようとしています。 thisページのラジオボタンにしましょう。私はラジオボタンを見つけるために名前を使用しようとSelenium WebDriver(iframe内)でユニークな要素を選択しないようにするにはどうすればよいですか?

var radioButton = driver.FindElements(By.Name("gender"))[1]; 
radioButton.Click(); 

Visual Studioの「型System.ArgumentOutOfRangeExceptionが」の未処理の例外がmscorlib.dllで発生したが、」私を返します。

タイムアウトが追加され、ページが完全に読み込まれていることを確認しました。しかし、それは解決策ではありませんでした。

driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); 

私は、XPathの使用を避けることを試みたが、それはどちらか動作しanother exception occurred

var radioButton = driver.FindElement(By.XPath("/html/body/form/input[2]")); 
radioButton.Click(); 

ていなかったので、私は把握しようとしている:

  1. に適切な方法は何ですかこの場合、ラジオボタンを選択しますか?
  2. OutOfRange例外を取り除くにはどうすればよいですか?
  3. この場合、XPathが機能しなかったのはなぜですか?

ご迷惑をおかけして申し訳ありません。

+3

HTMLサンプルは、すべてのhtmlではないと仮定すると、これは ''