今回は、SeleniumでWebページのURLにアクセスし、開く方法を学びます。
Python Selenium は、Web ブラウザをプログラムで操作するための強力なツールです。
すべてのブラウザと互換性があり、すべての主要なオペレーティングシステムで動作し、そのスクリプトはPython、Java、C#など、さまざまな言語で書かれています。
このうち、私たちはPythonで作業することになります。
Selenium Pythonバインディングは、Firefox、Internet Explorer、Chrome、RemoteなどのSelenium WebDriversにアクセスするためのわかりやすいAPIを提供します。
Pythonのバージョン2.7、3.5、およびそれ以上が現在Seleniumによってサポートされています。
推奨される読み物: Python Seleniumの紹介 – インストールとセットアップ
以下のコードサンプルは、PythonでWebページのURLを開くのにきっと役立つでしょう。
Selenium を使って URL を開く
それでは、Python SeleniumでWebページにアクセスし、URLを開く方法を学びましょう。
これはSeleniumを使う上で最も基本的な要件です。
1. Python Seleniumのインストール
pipコマンドを使用して、seleniumパッケージをインストールします。
python -m pip install selenium |
2. モジュールのインポート
それでは、selenium のモジュールを Python のコードにインポートして、作業を始めましょう。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome( './chromedriver.exe' )
|
注:Selenium をインストールしましたが、オープンな Web ブラウザにアクセスしてコードにアクセスできるようにするには、ブラウザの公式ドライバをダウンロードして、そのパスを記録する必要があります。
ここでは、Pythonスクリプトと同じディレクトリにドライバを置いたので、パスを’./chromedriver.exe’としています。
この記事もチェック:Seleniumのブラウザドライバ入門
3. URLを開く例
Python Selenium の URL は、selenium モジュールの get() メソッドで開かれるか、あるいは取得されます。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome( './chromedriver.exe' )
driver.get( "https://www.google.com" )
driver.close() |
これは、ChromeでGoogleのサイトを新しいテストブラウザウィンドウで開きます。
ブラウザウィンドウを閉じるには close() メソッドを使用します。
この記事もチェック:PythoのSeleniumを使用して要素を取得する色々な方法を解説する
4. ウェブページのタイトル
以下のpythonコマンドを使用することで、コンソール/ターミナルウィンドウにテキスト出力として開いたウェブページのタイトルを取得することができます。
print (driver.title)
|
5. Googleでクエリを検索する
構文:website/search?q=’検索するトピック’
ChromeブラウザのGoogle検索でpythonに関する結果が別ウィンドウで表示されます。
driver.get( "https://www.google.com/search?q =Python" )
|
6. ブラウザの履歴を前後に移動する
Backドライバは、ブラウザの履歴を一段階後退させます。
構文:driver.back()
前進ドライバは、ブラウザの履歴を一歩前進させる
構文:driver.forward()
実装例
from selenium import webdriver
driver = webdriver.Chrome( "./chromedriver.exe" )
# opens Google driver.get( "https://www.google.com" )
# open python official website driver.get( "https://www.python.org" )
|
ここでは、まずGoogleが新しいウィンドウで開き、同じウィンドウでpythonの公式サイトが開き、Googleのサイト上を通過します。
driver.back() # will go to Google driver.forward() # will go to python official website |
backとforwardの間にtime.sleep(5)のようなメソッドを使用しないと、実際に遷移を認識することはできません。
まとめ
PythonでSeleniumライブラリを使ってWebページのURLを開く方法を学び、自分で試す準備ができていれば幸いです。