2016-07-21 11 views
1

私はIE 10で見つけることができないWebElementを持っていますが、FF 47.1の中に機能やChromeランタイム時51WebElement(ラジオボタンリスト)がInternet Explorerで見つけることができない

[FindsBy(How = How.XPath, Using = "Foo's XPath")] 
IWebElement Foo = null; 

私も

呼ばれています
wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("Foo's XPath"))); 

ただし、IE10のみでNullReferenceExceptionが発生しています。私も睡眠を試みました。私のプログラムがIEを実行しなければならないことを誰かに助言してもらえますか?

この質問をした時点で、私たちはIE 11にアップグレードしましたが、まったく同じ問題を抱えています。私は特定のhtmlコードを提供することはできませんが、webelement fooについて少し詳しく説明したいと思います。

Iが "FOO" と呼ばれているラジオボタンは、私はXPathを呼び出すとき(私はIDと同様にCSSセレクタを試みた)

div 
    table 
    tbody 
     tr 
     td 
     input id = "foo" 

以下

.//*[@id='foo_rblArgType_4'] 

に包まれ

アプリケーション自体はデフォルトでラジオボタンの最初の値になり、必要な4番目の値を選択することができません。誰も私が試すことができる何かのアドバイスや提案を提供することはできますか?要素はあなたのようなセレクタ持つことができ兄弟が何であるかに依存し

+0

IEリジッド以外のすべてのブラウザでコードが正常に動作することを意味しますか?手動でそのラジオボタンをIEで見つけて、クリックすることができますか? –

+0

IEで動作しない唯一の可能性は、IEドライバがChromeまたはFirefoxよりもはるかに遅いためです。特定の時間を明示的に待ってから要素を見つけることをお勧めします。 – kurakura88

答えて

0

置き換えることにより、変更されていない場合にも全体のIDを使用することができます
//tr[4]//*[contains(@id, 'foo')] 

//td[4]/*[contains(@id, 'foo')] 

//*[contains(@id, 'foo')][4] 

は[で[(@id「foo」を)含まれています] @ id = 'foo']

これが機能していない場合は、4つの入力すべてに構造を指定してください。

0

idで要素を識別してみてください。

また、要素が非表示になっていないことを確認してください。また、web-driverが要素を見つけることができない場合があるので、要素のサイズを増やしてみてください。

ラジオボタンで操作を実行しても問題が解決しない場合は、JavaScriptExecutorを使用してみてください。 https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/JavascriptExecutor.html

関連する問題