2

自動化テストに Java のセレンを使用しており、ブラウザーは Firefox です。

これは私のサンプルコードです:

WebElement elem = driver.findElement(By.xpath(".//*[@id='main']/div/div[3]/div[1]/div/div[3]/div/div/div/a"));
Actions action = new Actions(driver);
Actions action2 = action.moveToElement(elem);
action2.perform();

問題は、「moveToElement」アクションがページの自動スクロール イベントをトリガーしていることです。スクロールせずにページを元のままにしたい。誰かがこの自動スクロールを無効にする方法を知っているかもしれませんか? ありがとう。

4

2 に答える 2

3

できません。WebDriver は、要素を操作するときに要素をスクロールして表示します。

于 2013-02-08T22:28:27.090 に答える
1

自動スクロールを無効にすることはできません。


いくつかの可能な回避策:

  1. それがあなたの原因に役立つ場合は、あなたの上に合成mouseoverイベントを発生させることができます。WebElement

  2. の後、またはキーなどmoveToElement()を使用して、必要な位置に再スクロールしてみてください。これは、明らかに、要素を壊しますが、必要なものかもしれません。window.scrollTo()Page Upmouseover

  3. Robotクラスを介して、実際のマウス カーソルを要素の上に置くことができます。これは少しトリッキーになるかもしれません.ブラウザでフルスクリーンモードに入る(またはthisを使用する)必要があるかもしれません.スクロールオフセットがある場合は手動で処理します.


すべては、あなたの意図、その要素をどうする必要があるか、そしてその理由に依存します。

于 2013-02-08T22:40:05.523 に答える