Code

Python+Selenium+ChromeDriverで『Bluetooth: bluetooth_adapter_winrt.cc:1074 Getting Default Adapter failed』が出る

Code

現在、Python+Selenium+ChromeDriverでRPAツールを作成しているのですが、スクリプトを実行するたびに『Bluetooth: bluetooth_adapter_winrt.cc:1074 Getting Default Adapter failed』というエラーメッセージが表示されていました。

> python.exe .\main.py

DevTools listening on ws://127.0.0.1:58901/devtools/browser/a626266f-f871-4075-a190-66b0ee77e723
[8556:11664:0812/110128.132:ERROR:device_event_log_impl.cc(208)] [11:01:28.124] Bluetooth: bluetooth_adapter_winrt.cc:1074 Getting Default Adapter failed.

特にスクリプト実行自体には問題もなく、Chromeの自動操作もうまく動いているのですが、Pythonスクリプトをexe化して実行した際に、エラーが表示されるのが嫌だったので対応しました。

なので、目的としてはエラーのダイヤログが表示されないことです。

試した環境

・Windows 10 Pro
・Python 3.8.5
・Selenium 3.141.0
・ChromeDriver 84.0.4147.30

こちらで構築した環境になります。

対応1:管理者権限で実行してみる

いくつかのサイトで管理者権限で実行すればエラーが表示されなくなるとの情報があったので実行してみました。

結果は管理者権限で実行しても変わらずエラーが表示されます。

対応2:DevToolsを表示しなくする

で、次に考えたのが、エラーメッセージの前にある「DevTools listening on ws://127.0.0.1:5890….」というメッセージです。

もしかしたらDevToolsというのがローカルPC内で実行されているのがコンソールが表示される原因なのでは!?

調べたら「options.add_experimental_option(‘excludeSwitches’, [‘enable-logging’])」を指定することで表示されないようになるようです。

こんな感じですね。

options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome(options=options)

これを指定してから実行すると、コンソールが表示されなくなって目的は果たすことができました!!

ただ、Bluetoothのadapterに関するエラーについてはまだ解決していないと思われますので引き続き調査したいと思っています。

Pythonのオススメ勉強方法

私がオススメするPython初心者向けの最初に購入すべき書籍は「シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全です。

シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全

この書籍は実際にシリコンバレーの一流エンジニアとして活躍している酒井潤さんが書いた本です。

内容も初心者から上級者までまとめられており、各Lessonも長すぎずに分かりやすくまとめられているので、初心者の方にもおすすめです。

シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全

今回は以上となります。

コメント

タイトルとURLをコピーしました