操作したいブラウザを開く操作したいページを開く操作したい要素を指定する指定した要素を操作するSeleniumを使うときのテンプレの設定が終わったところで、いよいよブラウザ操作にまつわる部分のコードを紹介します。name属性で指定するdriver.find_element_by_name('NAME')指定したい要素にIDがあった場合は迷わずIDを選びましょう。言うと、IDは一意な値なので、確実にその要素を取得することが出来るからです。WebサイトのIDやclass、nameを調べたいときは、ディベロッパーツール(⌘+option+I)やソースコード(⌘+option+U)を表示すれば出てきます。XPathで指定するdriver.find_element_by_xpath('XPath')id、class、nameがちゃんと設置されてないページでも、CSSセレクタやXPathをゴリゴリ書けば基本的になんでも要素を取得できます。CSSセレクタやXPathはディベロッパーツールで指定の要素を右クリックすればまるごとコピーできます。部分一致のリンクテキストdriver.find_element_by_partial_link_text('リンクテキスト')完全一致と部分一致について補足します。『次のページに進む』というリンクテキストがあったとすると、完全一致の場合は『driver.find_element_by_link_text(‘次のページに進む‘)』で取得でき、部分一致の場合は『driver.find_element_by_partial_link_text(‘進む‘)』だけでも取得できるというわけです。部分一致の場合『複数あると思わずに、思わぬ挙動をさせてしまう恐れがある』という点だけ注意して使いましょう。操作したいブラウザを開く操作したいページを開く操作したい要素を指定する指定した要素を操作する操作する要素を指定した後は、その要素に対してクリックさせたりテキストを入力させたりと、何かしらアクションさせるだけです。ここでは、ブラウザ操作するときによく使うアクションを紹介します。前提として、要素はすべてIDで指定しているものとします。『.click()』で何故かクリックできないときは、JavaScriptで無理やりクリックさせます。すべて選択解除するSelect(driver.find_element_id('ID')).deselect_all()ページを操作するこの章では、要素単体ではなく、ページ全体の操作について紹介します。(全てのウィンドウを閉じる)driver.quit()【応用】その他の実践テクニック時間を遅延させるたまに、要素が表示される前にクリックや取得しようとして『そんな要素存在しないよ〜』とエラーを吐かれることがあります。そんなときは、time.sleep()で遅延させましょう。+'/Desktop/python/selenium/chromedriver',chrome_options=options)操作するウィンドウを切り替えるリンクテキストのtarget="_blank"で別ウィンドウに飛ばされたときに使います。BASIC認証を突破するdriver.get('ID:PASSWORD@URL')2段階認証を突破するPython+Seleniumで2段階認証(6桁のパスコード)を突破する全手順reCAPTCHAを突破する【2Captcha】Python+Seleniumで『reCAPTCHA』を突破する方法さいごに今回は、Seleniumの導入方法とよく使う処理をまとめました。Seleniumを使えば、仕事や趣味を問わず、いろんなことが効率化できます。:スクレイピング時間短縮この記事を書いた人たぬ効率沼ブロガールーチンワークを自動化で瞬殺することに人生の楽しさを見つけた効率沼ブロガーです。本業は「データ分析」と「作業の効率化」を生業としているデータアナリスト。PythonとGASに人生救われました。当ブログは、おかげさまで月間12万PV。2020年までに30万PV目指して頑張ってます。