LoginSignup
2
0

More than 5 years have passed since last update.

Safari Technology Preview WebDriverで"An unknown server-side error occured while ..."エラーが出たときに試すべきこと

Posted at

症例

通常のSeleniumの使用法として,

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://google.co.jp')

などと実行する分には動作します.しかし,そのあと

driver.save_screenshot('image_path.png')
driver.get('http://yahoo.co.jp')

などと処理を続けたり特定の処理を行うと

selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command.

selenium.common.exceptions.WebDriverException: Message: A session with id = 'hogehogehoge' was not found.

などと例外を発生して動作が停止してしまうことがあります.

どの処理が悪いのかは完全には分かっていませんが,save_screenshot()はエラーを起こす黒い操作であると思っています.

結論

Mac OSのバージョンにあったSafari Technology Previewを入れ直しましょう.

Safari Technology Previewとは

Safari Technology Previewは,今後Mac OSやiOSのSafariに組み込まれるかもしれないWebテクノロジーを試してみるためのブラウザです.

筆者は,Webページ全体のスクリーンショットを撮るために使っています.

環境

名前 バージョン
Selenium with Python 3.12.0
Safari Technology Preview 11.2
Mac OS High Sierra 10.13.4
Python 3.6.4

よくある発症ケース

1. Mac OSをアップデートした時

Mac OSをSierraからHigh Sierraにアップデートする場合(もしくは他のバージョンからHigh Sierraなどにアップデートする場合),最初の数回の動作はOSのバージョン違いのようなエラーを吐くことなく機能します.

ただ,少し操作を続けたりある特定の動作を行うと上記の症例のようにAn unknown server-side errorという情報量≒0なエラーを起こします.

2. テキトーなバージョンのSafari Technology Previewをインストールした場合

実行中は,1.の場合と同じように,OSのバージョンが違うといった警告を出すことなく動作しますが,いきなり動作を停止します.

(インストール時にエラーを出してくれるかどうかは未確認です.)

解決策

いまインストールしてあるSafari Technology Previewをアンインストールして,正しいバージョンのSafari Technology Previewをインストールし直します.

1. いまあるSafari Technology Previewのアンインストール

「Finder」→「アプリケーション」→「Safari Technology Preview」を選択し,「(右クリック)」→「ゴミ箱に入れる」(→「ゴミ箱を空にする」)と操作を行うと簡単にアンインストールできます.

2. 正しいバージョンのSafari Technology Previewのインストール

Safari Technology Previewのダウンロードページから,正しいバージョンのインストーラをダウンロードしてきて,ダブルクリック&実行をします.

おまけ

OSのバージョン違い以外にもAn unknown server-side errorが出た場合は,Webdriverが壊れたというような原因もありえるのでSafari Technology Previewの再インストールは有効な場合もあると考えられます.

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0