ボタンをクリックする
clickを使用して、ボタンなどを押下する際に使用します。使い方はこんな感じです。
オブジェクトをクリックする際は、click()
という関数も用意されていますが、画面の範囲外にある場合にはエラーが起きてしまいます。ですので、個人的には全てクリック時は、execute_scriptを使用した方が良いと思っています。
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’).textやdriver.find_element_by_tag_name(‘script’).textなどとしても上手いこと中身を取り出せません。
<script id='IdName'> ..... </script>
そこで、innerTextをreturnさせるようにします。使い方はこんな感じです。
res = driver.execute_script('return document.getElementById("IdName").innerText') print(res)
seleniumを使っていると、どうしてもjsを使わないと出来ないことが出てきます。こういったものをtipとして残していきたいものです。
selenium使用で詰まった時に確認したいポイントまとめも書いてみたので、是非読んでみてください。