C#のSelenium Webdriverを使用して、グリッドが表示されたWebページをUIテストしています。Selenium(C#)のサブセクションをスクロールダウンする方法は?
グリッドには独自のスクロールバーがあり、グリッドの下部までスクロールして、モーダルフォームを使用して特定の結果が表示されたことを確認します(UIテストは現在失敗しています。下にスクロールするまで結果を見ない)。
メインWebページの通常のスクロールバーとは対照的に、グリッドのスクロールバーをターゲットにするにはどうすればよいですか?これは私のグリッドのスクロールバーのHTMLです:
<div class="ScrollbarLayout_face ScrollbarLayout_faceVertical public_Scrollbar_face" style="height: 367.38px; transform: translate3d(0px, 148.535px, 0px); backface-visibility: hidden;"></div>
私は以下のコードを使用して考えていたが、私はにスクロールし、グリッドの一番下にある要素をターゲットにする方法を考えることができませんか?
WebElement element = driver.findElement(By.id("my-id"));
Actions actions = new Actions(driver);
actions.moveToElement(element);
actions.perform();
を送信: ((IJavaScriptExecutor)ドライバ).ExecuteScript( "arguments [0] .scrollIntoView()"、driver.FindElement()メソッドを呼び出すと、 (By.id( "my-id")))); –
これは私の問題です。最初に要素をターゲットにしたり見つけることができれば、スクロールダウンする必要はありません。私のUIテストは失敗しています。なぜなら、グリッドの下部にあっても見えなくても、要素は表示できないからです。 – Marcus
必要なときにスクロールしたい場合は、 'element.Displayed'プロパティをチェックしてスクロールするかどうかを判断できます。 –