2017-01-07 13 views
2

私は以下のコードを実行していますが、実際にラジオボタンをスクロールして画面に表示すると動作します選択されていません。Selenium webdriverを使用してラジオボタンを選択すると、表示されなくなったときに

HTML

<label><input name="GenericID1" type="radio" value="5625">&nbsp;Sample;|&nbsp;Sat/15/805B</label> 

webdriverを

WebDriver driver = new FirefoxDriver(); 
driver.get("http://samplewebste.com"); 
WebElement oCheckBoxTest = driver.findElement(By.cssSelector("input[value='5625']")); 
oCheckBoxTest.click(); 

私は実際に手動でそれが実際に選択動作させるためにラジオをスクロールする必要があり、なぜ誰もがそうでない場合は、コマンドだけであると思われる、任意のアイデアを持っています例外を投げずに無視されますか?

答えて

2

必要な要素までスクロールし、それをクリックして次のコードを試してみてください。

WebElement oCheckBoxTest = driver.findElement(By.cssSelector("input[value='5625']")); 
Actions actions = new Actions(driver); 
actions.moveToElement(oCheckBoxTest); 
actions.click(); 
actions.perform(); 

ことない作品ならば、JavaScriptで試してみてください。

WebElement oCheckBoxTest = driver.findElement(By.cssSelector("input[value='5625']")); 
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", oCheckBoxTest); 
oCheckBoxTest.click() 
+0

こんにちは、このためのおかげで、私は(それがうまくいくと思いますしかし私はまだそれを持っていない)が、私はこれを明らかにするためにドロップダウンタブをクリックして、それを行うことによって、それはスクロールのいくつかのアニメーションを行います。これは、スクロールダウンしてもすぐに戻ってきます。スクロールを少し遅らせる方法についてアドバイスできますか? –

+0

私はあなたが何を意味しているかを明確に理解していません。手動でチェック・ボックス・クリックを実行する必要がある正確なアクション・シーケンスを教えてください。ドロップダウンメニューのスクリーンショットも参考になる可能性があります。 – Andersson

+0

こんにちは、残念ながら機密情報が含まれているため、実際にスクリーンショットを送信することはできません。基本的に、要素をクリックして2秒待ってからスクロールする必要があります。要素をクリックすると、上記のコードで実装したスクロールと競合するオートスクロールのラジオボタンとアクションが表示されます。スクロールを2秒遅らせることで、自動スクロールが完了し、コード内のスクロールが干渉なく継続できるようになります。それは理にかなっていますか? –

関連する問題