【Selenium】別タブで複数ページを全て開く/Python

- Python -
2020.09.29
Python[パイソン]

Python/Seleniumでwebdriver.get(URL)をしてWebページへアクセスし、そこで収集したURLを以下のように新しい別タブで一気に開きたい。

seleniumで別タブで開く

こんな時はwebdriver.execute_script()でJavaScriptのwindow.open()を実行することで上手くできます。

Python × Selenium 複数ページを全て新しい別タブで開く

以下、3つのページをdriver.get(URL)した時に開いたウィンドウの別タブで開く例です。

Pythonfrom selenium import webdriver
import chromedriver_binary

driver = webdriver.Chrome()
driver.get('https://google.com')

# 以下、driver.get先でfind_elementして収集したURLと仮定
urls = [
    'https://google.com',
    'https://google.com',
    'https://google.com',
]

for url in urls:
    driver.execute_script("window.open(arguments[0], '_blank')", url)

最終15行目の'_blank'がポイント。

最初は'_blank'ではなく'newtab'にしていて、2つめのタブしか新規に開かず上手くいきませんでした。

↑TOP