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

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

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

Pythonistaは、iOS上でPythonプログラミングができる開発アプリです。さらに、Pythonの関数・変数などを自動で補完する便利なコードエディタや、PythonスクリプトをiOS上で多様な形で機能させる各種機能も内包しています。

selenium

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

Q&A

解決済

1回答

1494閲覧

【mac】seleniumで起動済みchromを操作したい

MINTJAMS

総合スコア1

Pythonista

Pythonistaは、iOS上でPythonプログラミングができる開発アプリです。さらに、Pythonの関数・変数などを自動で補完する便利なコードエディタや、PythonスクリプトをiOS上で多様な形で機能させる各種機能も内包しています。

selenium

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

0グッド

0クリップ

投稿2023/02/22 16:32

実現したいこと

・seleniumとpythonを使用して起動済みchromブラウザを操作したい

発生している問題・エラーメッセージ

色んな記事を参考に丸々2日ほど調べて試行錯誤しておりますが、一度も上手く実行できておりません。
Windowsのやり方はいくつかあるようですが、macで実行されている方を見つけられず、ご質問させていただきたく存じます。

◎考えられる要因
・macで運用する際「chrom.exe」のパスを指定できていない
・コンソールでのChrom立ち上げ入力に間違いがある
(※現状:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222)

swenga@swenga python % /usr/local/bin/python3 /Users/swenga/python/ebay.scraping.py /Users/swenga/python/ebay.scraping.py:8: DeprecationWarning: executable_path has been deprecated, please pass in a Service object driver = webdriver.Chrome("\\usr\\local\\Caskroom\\chromedriver\\110.0.5481.77\\chromedriver", options=options) Traceback (most recent call last): File "/Users/swenga/python/ebay.scraping.py", line 8, in <module> driver = webdriver.Chrome("\\usr\\local\\Caskroom\\chromedriver\\110.0.5481.77\\chromedriver", options=options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/chrome/webdriver.py", line 80, in __init__ super().__init__( File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/chromium/webdriver.py", line 104, in __init__ super().__init__( File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 286, in __init__ self.start_session(capabilities, browser_profile) File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 378, in start_session response = self.execute(Command.NEW_SESSION, parameters) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 440, in execute self.error_handler.check_response(response) File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 245, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at 127.0.0.1:9222 from chrome not reachable Stacktrace: 0 chromedriver 0x000000010c78a138 chromedriver + 4923704 1 chromedriver 0x000000010c7029d3 chromedriver + 4368851 2 chromedriver 0x000000010c34b5fd chromedriver + 472573 3 chromedriver 0x000000010c338bf4 chromedriver + 396276 4 chromedriver 0x000000010c37c71c chromedriver + 673564 5 chromedriver 0x000000010c3738e2 chromedriver + 637154 6 chromedriver 0x000000010c3c28a5 chromedriver + 960677 7 chromedriver 0x000000010c3b8d23 chromedriver + 920867 8 chromedriver 0x000000010c37fa4b chromedriver + 686667 9 chromedriver 0x000000010c381044 chromedriver + 692292 10 chromedriver 0x000000010c7558fe chromedriver + 4708606 11 chromedriver 0x000000010c75ae22 chromedriver + 4730402 12 chromedriver 0x000000010c7636bf chromedriver + 4765375 13 chromedriver 0x000000010c75be80 chromedriver + 4734592 14 chromedriver 0x000000010c72c975 chromedriver + 4540789 15 chromedriver 0x000000010c77de78 chromedriver + 4873848 16 chromedriver 0x000000010c77dff5 chromedriver + 4874229 17 chromedriver 0x000000010c7926de chromedriver + 4957918 18 libsystem_pthread.dylib 0x00007fff71687109 _pthread_start + 148 19 libsystem_pthread.dylib 0x00007fff71682b8b thread_start + 15

該当のソースコード

from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_experimental_option("debuggerAddress", "127.0.0.1:9222") driver = webdriver.Chrome("\\usr\\local\\Caskroom\\chromedriver\\110.0.5481.77\\chromedriver", options=options) driver.get("http://facebook.com")

試したこと

brewでchromedriverをダウンロードし直し→変化なし
海外のサイトや解説動画を参考に完コピでコード入力→変化なし
パスの指定をchromアプリに指定→変化なし

補足情報

当方、htmlやCSSが少しできる程度の初心者でございます。。
解決策をご存知の方がいらっしゃいましたらぜひ伺いたいです。。

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

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

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

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

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

MINTJAMS

2023/02/23 03:24 編集

コメントありがとうございます! windowsで実行していらっしゃる方の記事がバックスラッシュだったので、真似してみた次第です。。 ※「/usr/local/Caskroom/chromedriver/110.0.5481.77/chromedriver」でも実行不可でした
guest

回答1

0

自己解決

自己解決しました!
初歩的なミスで、ポート番号指定してターミナルから立ち上げる前に、他のChromeを立ち上げていたことが原因でした。
下記手順で解決です。
1:他のChromeを全て閉じた状態で「/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222」コントロールセンターから立ち上げ。
2:下記コードを実行
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")

driver = webdriver.Chrome(executable_path="/usr/local/Caskroom/chromedriver/110.0.5481.77/chromedriver", options=options)

driver.get("http://facebook.com")

投稿2023/02/24 02:19

MINTJAMS

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問