今回はPython、Seleniumで新しいタブを開く方法の説明になります。
新タブはjavascriptの実行によりwindow.openを使用することで開くことができます。
もう1つ、driver.switch_to.new_window("tab")使用による方法もありますが、それは以下の記事などで用例中に記載しています。
目次
1.Chromeの場合
具体的には、Chromeの場合には、同じフォルダ内にchromedriver.exeを入れておくことで、
from selenium import webdriver from selenium.webdriver.chrome import service as fs import os path_driver = os.getcwd()+'\chromedriver.exe' # ドライバー指定でChromeブラウザを開く chrome_service = fs.Service(executable_path=path_driver) driver = webdriver.Chrome(service=chrome_service) #driver = webdriver.Chrome(path_driver) # URLを指定して、新しいタブを開く driver.execute_script("window.open('https://www.google.co.jp');")
# タブを閉じる
driver.close()
driver.quit()
にて、別タブでGoogleの検索画面が開きます。
7行目の、
driver = webdriver.Chrome(service=chrome_service)
で新しくウインドウが開きますが、
10行目の、
文driver.execute_script("window.open('https://www.google.co.jp');")
で、その中に別タブでGoogleの検索画面が開くことになります。
ウインドウを閉じる場合には、その次の、
driver.close()
で閉じ、
driver.quit()
でドライバーを抜けます。
2.Edgeの場合
ちなみに、Edgeの場合には、ほぼ同様ですが、
from selenium import webdriver from selenium.webdriver.chrome import service as fs import os path_driver = os.getcwd()+'\msedgedriver.exe' # ドライバー指定でEdgeブラウザを開く edge_service = fs.Service(executable_path=path_driver) driver = webdriver.Edge(service=edge_service) # URLを指定して、新しいタブを開く driver.execute_script("window.open('https://www.google.co.jp');")
# タブを閉じる
driver.close()
driver.quit()
にて新しいタブでGoogle画面が開いてその後閉じます。
3.空のタブを開くには
また、URLを指定せずに、以下のようにすると、
from selenium import webdriver from selenium.webdriver.chrome import service as fs import os path_driver = os.getcwd()+'\chromedriver.exe' # ドライバー指定でChromeブラウザを開く chrome_service = fs.Service(executable_path=path_driver) driver = webdriver.Chrome(service=chrome_service) #driver = webdriver.Chrome(path_driver) #空のタブを開く #driver.execute_script("window.open();") # タブを閉じる driver.close() driver.quit()
別タブを空のタブで開きます。
以上がSelenium関係で別タブを開く方法となります。
また、PythonにてSeleniumを活用してスクレイピング、RPA化などを行っていく場合に必要となりそうな内容の記事を一覧として以下にまとめましたのでよかったらご参照ください。
関連記事:
【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 Selenium】各ブラウザ用のドライバーを自動アップデートする方法 - 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 備忘録
【Python】pyautoguiを使用したマウスの操作方法 - Django Girls and Boys 備忘録
【Python】pyautoguiによるキーボード操作、キー入力方法 - Django Girls and Boys 備忘録
【Python】Seleniumで新しいタブを開く方法 - Django Girls and Boys 備忘録
【Python】CSVファイルからのデータの読み込み方法 - Django Girls and Boys 備忘録
【Python】CSVファイルへのデータの書き込み方法 - Django Girls and Boys 備忘録
【Python Selenium】ウインドウ表示時などでのWaitの方法、待機方法 - Django Girls and Boys 備忘録