seleniumで用意されているexecute_scriptの使用用途

Python

ボタンをクリックする

clickを使用して、ボタンなどを押下する際に使用します。使い方はこんな感じです。

driver.execute_script('arguments[0].click();', driver.find_element_by_id('IdName'))

画面をスクロールする

seleniumを使ってフォームに入力したり、ボタンをクリックしたりする際には、画面の範囲内にそのオブジェクトが無いといけない為に、画面をスクロールさせたりすることがあります。

そこで使用するのが、window.scrollToです。使い方はこんな感じです。

driver.execute_script(“window.scrollTo(0, document.getElementById('IdName').scrollHeight)“)

jsの中身を取得する

seleniumで以下のようなscriptタグの中身を取得したい場合、driver.find_element_by_id(‘IdName’).textdriver.find_element_by_tag_name(‘script’).textなどとしても上手いこと中身を取り出せません。

<script id='IdName'>
  .....
</script>

そこで、innterTextをreturnさせるようにします。使い方はこんな感じです。

res = driver.execute_script('return document.getElementById("IdName").innerText')
print(res)

最後に

seleniumを使っていると、どうしてもjsを使わないと出来ないことが出てきます。こういったものをtipとして残していきたいものです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です