Django Girls and Boys 備忘録

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

【Python】Seleniumで新しいタブを開く方法

 


今回はPythonSeleniumで新しいタブを開く方法の説明になります。

 

新タブはjavascriptの実行によりwindow.openを使用することで開くことができます。

 

 

尚、Seleniumのバージョンアップでウェブドライバーの設定方法が変わったこともあり、以下の例はSelenium Ver.4.6以降の場合の例として記載しています。

 

 Ver.4.6以前の場合については以下の過去記事などで載せています。

違いはドライバーの設定方法だけですが。

 

kuku81kuku81.hatenablog.com

 

 

目次

 

 

1.Chromeの場合

 

Selenium Ver.4.6以降の場合)

from selenium import webdriver

# ドライバー指定でChromeブラウザを開く
driver = webdriver.Chrome()

# URLを指定して、新しいタブを開く driver.execute_script("window.open('https://www.google.co.jp');")

# タブを閉じる
driver.close()

driver.quit()

 

にて、別タブでGoogleの検索画面が開きます。

 

2行目の、

 

driver = webdriver.Chrome(service=chrome_service)

 

で新しくウインドウが開きますが、

 

3行目の、

 

文driver.execute_script("window.open('https://www.google.co.jp');")

 

で、その中に別タブでGoogleの検索画面が開くことになります。

 

ウインドウを閉じる場合には、その次の、

 

driver.close()

 

で閉じ、

 

driver.quit()

 

でドライバーを抜けます。

 

2.Edgeの場合

 

ちなみに、Edgeの場合には、ほぼ同様ですが、

 

(Selenium Ver.4.6以降の場合)

from selenium import webdriver

# ドライバー指定でEdgeブラウザを開く
driver = webdriver.Edge()

# URLを指定して、新しいタブを開く
driver.execute_script("window.open('https://www.google.co.jp');")

# タブを閉じる
driver.close()

driver.quit()

 

にて新しいタブでGoogle画面が開いてその後閉じます。

 

3.空のタブを開くには

 

また、URLを指定せずに、以下のようにすると、

 

(Selenium Ver.4.6以降の場合)

from selenium import webdriver

# ドライバー指定でChromeブラウザを開く
driver = webdriver.Chrome()

#空のタブを開く
driver.execute_script("window.open();")
      
# タブを閉じる
driver.close()

driver.quit()

 

別タブを空のタブで開きます。

 

 

また、もう1つ、driver.switch_to.new_window("tab")使用による方法もありますが、それは以下の記事などで用例中に記載しています。

 

kuku81kuku81.hatenablog.com

 

 

以上がSelenium関係で別タブを開く方法となります。

 

 

PythonにてSeleniumを活用してスクレイピング、RPA化などを行っていく場合に必要となりそうな内容の記事を一覧として以下にまとめましたのでよかったらご参照ください。

 

 

kuku81kuku81.hatenablog.com

 

 

 

関連記事:

【Python】おすすめ学習本ランキング8選 - Django Girls and Boys 備忘録

 

【Python】キーボード、キー入力判定方法 - Django Girls and Boys 備忘録

 

【Python】keyboardライブラリでのキー入力検出に使用可能なキーの種類 - Django Girls and Boys 備忘録

 

【Python】range、break、continue、スライスによる範囲指定などfor文の基本的な使用方法 - Django Girls and Boys 備忘録

 

【Python】スライスによる範囲指定などスライスの使用方法 - Django Girls and Boys 備忘録

 

【Python】enumerate()関数、reversed()関数を使用したループ処理や辞書型オブジェクトdictのループ処理などのfor文の使用方法 - Django Girls and Boys 備忘録

 

【Python Selenium】Pythonで行うproxy環境設定方法 - Django Girls and Boys 備忘録

 

【PythonからWeb操作】seleniumのインストール手順 - Django Girls and Boys 備忘録

 

【PythonによるExcelファイルの読み書き】PythonのダウンロードからExcelファイルの読み書きまでの一通りすべての方法 - Django Girls and Boys 備忘録