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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

selenium

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

Q&A

1回答

511閲覧

Message: Unable to find a matching set of capabilities(marrionette On)

退会済みユーザー

退会済みユーザー

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

selenium

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

0グッド

2クリップ

投稿2019/04/25 06:20

編集2019/04/27 23:15

python

1import time 2def driver2(t): 3 from selenium import webdriver 4 from selenium.webdriver.common.by import By 5 from selenium.webdriver.support.ui import WebDriverWait 6 from selenium.webdriver.support import expected_conditions as EC 7 from selenium.common.exceptions import TimeoutException 8 from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 9 from selenium.webdriver.firefox.options import Options 10 cap = DesiredCapabilities().FIREFOX 11 cap["marionette"] = True 12 retry=3 13 for i in range(retry): 14 try: 15 options = Options() 16 options.headless = True 17 print("first") 18 browser=webdriver.Firefox(capabilities=cap,options=options,) 19 print("second") 20 except Exception as e: 21 print(e) 22 time.sleep(i*5) 23 try: 24 browser.get(t) 25 return None 26 print(browser.page_source) 27 browser.quit()

結果(options関係なし)

python

1>>> driver2("https://teratail.com/questions/186288") 2Message: Unable to find a matching set of capabilities

環境変数指定
C:\Users\a.sakata\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\local\bin\geckodriver
C:\Users\a.sakata\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\bin\firefox

geckodriver 0.24.0 ( 2019-01-28)
Mozilla Firefox 66.0.3
OS windows10 (WSL インストール ubuntu)

Anaconda同じ(windows用geckodriverもインストール済み from GitHub)

IDE(Spyder)ではMessage: 'geckodriver' executable needs to be in PATH.

geckodriver はwget(url),tar (解凍),chmod(実行権限付与)
(.exe形式でない)

firefox下のtree

ubuntu

1attyan22@LAPTOP-SGBTV53C:/usr/bin/firefox$ tree 2. 3├── firefox 4│ ├── Throbber-small.gif 5│ ├── application.ini 6│ ├── browser 7│ │ ├── blocklist.xml 8│ │ ├── chrome 9│ │ │ └── icons 10│ │ │ └── default 11│ │ │ ├── default128.png 12│ │ │ ├── default16.png 13│ │ │ ├── default32.png 14│ │ │ ├── default48.png 15│ │ │ └── default64.png 16│ │ ├── chrome.manifest 17│ │ ├── crashreporter-override.ini 18│ │ ├── features 19│ │ │ ├── formautofill@mozilla.org.xpi 20│ │ │ ├── screenshots@mozilla.org.xpi 21│ │ │ ├── webcompat-reporter@mozilla.org.xpi 22│ │ │ └── webcompat@mozilla.org.xpi 23│ │ └── omni.ja 24│ ├── chrome.manifest 25│ ├── crashreporter 26│ ├── crashreporter.ini 27│ ├── defaults 28│ │ └── pref 29│ │ └── channel-prefs.js 30│ ├── dependentlibs.list 31│ ├── firefox 32│ ├── firefox-bin 33│ ├── firefox-bin.sig 34│ ├── firefox.sig 35│ ├── fonts 36│ │ └── TwemojiMozilla.ttf 37│ ├── gmp-clearkey 38│ │ └── 0.1 39│ │ ├── libclearkey.so 40│ │ ├── libclearkey.so.sig 41│ │ └── manifest.json 42│ ├── gtk2 43│ │ └── libmozgtk.so 44│ ├── icons 45│ │ └── updater.png 46│ ├── libfreeblpriv3.chk 47│ ├── libfreeblpriv3.so 48│ ├── liblgpllibs.so 49│ ├── libmozavcodec.so 50│ ├── libmozavutil.so 51│ ├── libmozgtk.so 52│ ├── libmozsandbox.so 53│ ├── libmozsqlite3.so 54│ ├── libmozwayland.so 55│ ├── libnspr4.so 56│ ├── libnss3.so 57│ ├── libnssckbi.so 58│ ├── libnssdbm3.chk 59│ ├── libnssdbm3.so 60│ ├── libnssutil3.so 61│ ├── libplc4.so 62│ ├── libplds4.so 63│ ├── libsmime3.so 64│ ├── libsoftokn3.chk 65│ ├── libsoftokn3.so 66│ ├── libssl3.so 67│ ├── libxul.so 68│ ├── libxul.so.sig 69│ ├── minidump-analyzer 70│ ├── omni.ja 71│ ├── pingsender 72│ ├── platform.ini 73│ ├── plugin-container 74│ ├── plugin-container.sig 75│ ├── precomplete 76│ ├── removed-files 77│ ├── update-settings.ini 78│ ├── updater 79│ └── updater.ini 80└── geckodriver.log

marionette off では 'str' object has no attribute 'launch_browser'
firefox のインストールが原因?

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

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

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

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

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

tetsunosuke

2019/04/25 06:55

except のところを except Exception as e: print(e) のようにすると、例外についての情報が得られるのでそれを調べてみてはいかがでしょうか。
退会済みユーザー

退会済みユーザー

2019/04/25 07:05

変更後です
tetsunosuke

2019/04/25 07:09 編集

browser.get(t) 'firefox' executable needs to be in PATH. return None なんか余計なもん貼られてますが、趣旨は理解できました。 ということで、PATHが通っていないということのようですね。 環境変数に指定すべきなのは C:\Users\a.sakata\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\bin\firefox ではなく C:\Users\a.sakata\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\bin\ かな? もしかしたらそこに実行ファイルが実はないとか...
退会済みユーザー

退会済みユーザー

2019/04/25 07:20

プログラムのみで、実行ファイルなしです
tetsunosuke

2019/04/25 07:21

あ、実行ファイル、と書いたのは「geckodriver」とか「firefox」ファイルのことです。そんなことはないとは思いますが...
退会済みユーザー

退会済みユーザー

2019/04/25 07:28 編集

ファイルはあります、exeがないです
tetsunosuke

2019/04/25 07:38

自分のところと環境がちょっとだけ違うみたいで、自分の環境では marionette をFalseにしたら起動はしました。 Trueの状態だと Message: Unable to find a matching set of capabilities というのが出ていたので、ちょっと違うのかもしれません。
tetsunosuke

2019/04/25 07:52

PATH がどのようになっているか確認をさせてください。 import os print(os.environ["PATH"]) これで指定したとおりに設定されているか。
退会済みユーザー

退会済みユーザー

2019/04/25 07:54

エラー変わりました。 Message: invalid argument: can't kill an exited process
退会済みユーザー

退会済みユーザー

2019/04/25 08:36 編集

excecutable_path を消し、 quita読み、firefoxのダウングレードが必要に感じ、47ダウンロード、PATHに追加なしです
tetsunosuke

2019/04/25 08:18

ひとまず 終了してしまったプロセスをkillできない、というエラーであれば、なんとなく起動はしているようには感じますけどね・・・回答でコメント頂いている通り、まずはheadlessではなく起動まですれば進展があるように思うので、いろいろ試していただき、整理していただくのが良いかなと思います。 DesiredCapabilitiesについても、 webdriver.Firefox(capabilities = cap, options = option, ...)のように書くみたいなので、どれがどう有効になっているかちょっとわからない感じになってしまっているかも。 参考) https://teratail.com/questions/142294
退会済みユーザー

退会済みユーザー

2019/04/25 14:21

変化後です
tetsunosuke

2019/04/25 15:24

「至急」と変えられたようですがすみませんが明確なお答えはできない状況になっちゃってます。。
退会済みユーザー

退会済みユーザー

2019/04/26 13:17 編集

権限はあります
退会済みユーザー

退会済みユーザー

2019/04/26 12:34 編集

Ubuntuではタイトルのようなエラーが吐かれるが、anaconda,spyderではさどうしました
退会済みユーザー

退会済みユーザー

2019/04/27 23:15

ありがとうございました
guest

回答1

0

ヘッドレス(バックグラウンド実行)で起動しているように見えます。

python3

1options.headless = True

最終的にはヘッドレスの方が便利ですが目で確認したいなら、
この行はコメントアウトしておくと良いです。

投稿2019/04/25 06:53

gyungyun545

総合スコア84

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

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

tetsunosuke

2019/04/25 06:59

正常に実行されているなら、 print(browser.page_source) で何かの結果が得られるように思ったのですがどうですかね
gyungyun545

2019/04/25 07:01 編集

ソースと出力結果を見ました。 「browser=webdriver.Firefox(options=options)」でエラーが起きているのは間違いないですね。 これだけではいろいろな原因が考えられるので、エラーの内容を出力してみてください。 ```python3 : try: : : except Exception as e: print(e) : ```
tetsunosuke

2019/04/25 07:01

↑ を追記依頼しています!
gyungyun545

2019/04/25 07:04 編集

OK!質問者の返信を待ちます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問