Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python Selenium】対象のURLを指定して画面表示する方法とウインドウ表示中のタイトル、URLを取得する方法


Pythonでseleniumを利用してウインドウアクセスする場合には、通常は対象のウインドウを表示させるところからはじまります。

 

ということで、対象ウインドウのURLを元にしてウインドウを表示させる方法と、その逆に表示されているウインドウのURLとタイトルを取得する方法について説明したいと思います。

 

簡単な使用例として載せているものは、Chrome用になります。

Edge用についてはそれほど違いはありませんが、こちらに載せていますのでご参照ください。

 

 

 

 

目次

 

 

1.ウインドウのURLからウインドウを表示させる方法

 

対象のURLからウインドウ表示させる方法は簡単です。

やり方としてはdriver.get()を使用します。

 

driver.get(URL)

 

これにて指定したURLに画面展開します。

設定したdriverにget()にてURLを渡すことで表示されます。

URLには、シングルコーテーションかダブルコーテーションでくくったURLを記載します。

 

以下に、ChromeにてGoogle検索のURLを指定して画面表示させるまでのコード例を載せておきます。

(以下の例の中の「os.getcwd()」はカレントディレクトリを指しますのでChrome用のドライバーchromedriver.exeは同じフォルダ(カレントディレクトリ)に入れた状態で実行します)

 

from selenium import webdriver
import os
from selenium.webdriver.chrome import service as fs

######################################################################
path_driver = os.getcwd()+'\chromedriver.exe'
# ドライバー指定でChromeブラウザを開く
chrome_service = fs.Service(executable_path=path_driver)
driver = webdriver.Chrome(service=chrome_service)
######################################################################

driver.get('https://www.google.com/')

 

この例を実行するとGoogle検索画面が表示されます。

 

 

2.現在表示されているウインドウのURL取得方法

 

次に、画面表示後にウインドウが表示しているURLを取得する場合の方法は以下のようなものになります。

driver.current_urlを使用します。

 

driver.current_url

 

これにてブラウザーで現在表示されているウインドウのURLが取得できます。

 

これに、先程と同様、ライブラリのインポートなど含めた簡単な使用例は以下のようなものになります。

 

Google検索画面が開き、ウインドウのURLを取得してプリントするという内容になります。

(先程と同様Chrome用のドライバーchromedriver.exeは同じフォルダに入れた状態で実行)

 

from selenium import webdriver
import os
from selenium.webdriver.chrome import service as fs

######################################################################
path_driver = os.getcwd()+'\chromedriver.exe'
# ドライバー指定でChromeブラウザを開く
chrome_service = fs.Service(executable_path=path_driver)
driver = webdriver.Chrome(service=chrome_service)
######################################################################

driver.get('https://www.google.com/')

#カレントウインドウのURLを取得して表示
print(driver.current_url)

 

 

3.現在表示されているウインドウのタイトル取得方法

 

もう1つ、現在表示されているウインドウのタイトルを取得する方法は以下のようなものになります。

これにはdriver.titleを使用します。

 

driver.title

 

これにてブラウザーで現在表示されているウインドウのタイトルが取得できます。

 

先程と同様、これに、ライブラリのインポートなど含めた簡単な使用例は以下のようなものになります。

 

Google検索画面が開き、現在表示されているウインドウのタイトルを取得してプリントするという内容になります。

(同様にChrome用のドライバーchromedriver.exeは同じフォルダに入れた状態で実行)

 

from selenium import webdriver
import os
from selenium.webdriver.chrome import service as fs

######################################################################
path_driver = os.getcwd()+'\chromedriver.exe'
# ドライバー指定でChromeブラウザを開く
chrome_service = fs.Service(executable_path=path_driver)
driver = webdriver.Chrome(service=chrome_service)
######################################################################

driver.get('https://www.google.com/')

#カレントウインドウのタイトルを取得して表示
print(driver.title)
 
 

以上がURLを指定して対象の画面を表示し現在表示されているウインドウのURLとタイトルを取得する方法の例になります。