質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Safari

SafariはAppleのウェブブラウザであり、Mac OS XとiOSのデフォルトのブラウザです。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

1回答

3701閲覧

selenium safari 開けない

goliragolira

総合スコア26

Safari

SafariはAppleのウェブブラウザであり、Mac OS XとiOSのデフォルトのブラウザです。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

1クリップ

投稿2020/05/19 10:23

#seleniumでsafariを開くにはどうすれば良いでしょうか。

safariの開発のリモートオートメーションを許可した上で
下記コードを実行すると、エラーが出てしまいます。

実行するコード

from

1from selenium import webdriver 2import chromedriver_binary 3import time 4 5browser = webdriver.Safari() 6time.sleep(10) 7browser.get("https://us02web.zoom.us/j/87327245550?pwd=Z0NLZ0xrSHcyNjZaalQyNW5DZWNMZz09") 8time.sleep(10) 9Alert(driver).accept()

エラーコード

Traceback

1 File "ohayou.py", line 6, in <module> 2 browser = webdriver.Safari() 3 File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/safari/webdriver.py", line 57, in __init__ 4 self.service.start() 5 File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 98, in start 6 self.assert_process_still_running() 7 File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 111, in assert_process_still_running 8 % (self.path, return_code) 9selenium.common.exceptions.WebDriverException: Message: Service /usr/bin/safaridriver unexpectedly exited. Status code was: 1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

エラーを見るにsafaridriverの位置が悪いように見えます。

こんな感じでいかがでしょうか。

shell

1mv safaridriver /usr/bin

python

1from selenium.webdriver.chrome.options import Options 2from time import sleep 3from selenium import webdriver 4from selenium.webdriver.common.alert import Alert 5 6options = Options() 7options.add_argument('--headless') 8options.add_argument('--disable-gpu') 9options.add_argument('--window-size=1280,893') 10options.add_argument('--no-sandbox') 11browser = webdriver.Safari(options=options) 12sleep(10) 13browser.get("https://us02web.zoom.us/j/87327245550?pwd=Z0NLZ0xrSHcyNjZaalQyNW5DZWNMZz09") 14sleep(10) 15Alert(browser).accept()

コメントを受けて追記

お、ほんとだ!失礼しました。いつもchromeでやっているもので。。。

https://qiita.com/hiroshitoda/items/6ee3ad892357cda3f0e0
https://www.selenium.dev/documentation/ja/webdriver/driver_requirements/

いくつか調べてみましたがどうやらSafariでは別途専用のブラウザをインストールするのではなく、
元々あるsafariの設定を変えて実行するみたいですので、
safaridriverの位置さえmvコマンドで移せたらそれだけで大丈夫みたいですね。

設定後は以下のプログラムで動くと思います!

python

1from selenium import webdriver 2from time import sleep 3from selenium.webdriver.common.alert import Alert 4 5browser = webdriver.Safari() 6sleep(10) 7browser.get("https://us02web.zoom.us/j/87327245550?pwd=Z0NLZ0xrSHcyNjZaalQyNW5DZWNMZz09") 8sleep(10) 9Alert(browser).accept()

投稿2020/05/19 11:49

編集2020/05/21 02:36
shirai

総合スコア1290

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goliragolira

2020/05/20 03:33

回答ありがとうございます!試してみます!
goliragolira

2020/05/20 03:38

検索して調べたのですが、これって最上部のoptionって chromeのオプションですが そこはsafariのではなくて大丈夫なんでしょうか。
goliragolira

2020/05/20 03:57

実際に実行してみたのですが、以下のエラーコードが出てきました。 Traceback (most recent call last): File "safari_test.py", line 11, in <module> browser = webdriver.Safari(options=options) TypeError: __init__() got an unexpected keyword argument 'options' 矢継ぎ早にすみません。
shirai

2020/05/21 02:36

追記しました。
goliragolira

2020/05/21 02:40

ご親切に説明ありがとうございます! なるほど、パソコン上の場所を移動させれば 普通に動くわけですね!かしこまりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問