2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

pythonのseleniumで`arguments[0].scrollIntoView();`が失敗するときの対応

Posted at

概要

pythonのseleniumでarguments[0].scrollIntoView(); を使って画面の表示位置を調整していたスクリプトを久しぶりに動かしたときにエラーで落ちてしまったのでその対応方法

対処方法

self.driver.execute_script("arguments[0].scrollIntoView();", inputLabel)

から

inputLabel.location_once_scrolled_into_view

に変更しました。
inputLabelはwebdriverのfind_element_by_XXX のメソッドで取得した要素になります。

状況

  • seleniumの処理中画面の範囲外の要素を操作しようとするとMoveTargetOutOfBoundsExceptionが発生してしまうので、対処として**arguments[0].scrollIntoView();**を使って画面をスクロールしてから動かすようにしていました。
  • そのスクリプトはしばらく動かしていなかったのですが、最近使うかもということで動作確認をしたところjavascript error: arguments[0].scrollIntoView is not a function
    とエラーが・・・
  • いろいろしらべたところstackoverflowの状況のようなのでこちらの方法を採用
  • 公式ドキュメントでは勝手に変更するかも?とあったのでださいですがtry,exceptで失敗したときのみ動作するようにしました。
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?