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

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

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

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

selenium

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

Q&A

解決済

1回答

2221閲覧

Selenium4を使用したスクレイピング時のドライバー自動更新について

az_ura

総合スコア4

Python 3.x

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

selenium

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

0グッド

1クリップ

投稿2022/11/22 03:43

編集2022/11/23 16:27

前提

selenium4を使用し、Edgeのスクレイピングを行っているのですが
下記のエラーが発生しています。

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

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. msedge-selenium-tools 3.141.4 requires selenium==3.141, but you have selenium 4.3.0 which is incompatible.

上記のエラーは「msedge-selenium-tools」と「selenium」のバージョン不一致で起こるものですが、
selenium4では「msedge-selenium-tools」は不必要という情報を目にしました。

ドライバーの自動更新をおこなうために「msedge-selenium-tools」を入れていたのですが、
スクレイピング時にselenium4単体でドライバーの自動更新を行うことは可能なのでしょうか?

該当のドライバーの自動更新コード

# モジュールインストール from webdriver_manager.microsoft import EdgeChromiumDriverManager # ドライバの自動更新 driver = Edge(EdgeChromiumDriverManager().install(), options=options)

調べても見つけれなかったため、ご教示いただけますと幸いです。
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

メッセージに書いてあるとおり、msedge-selenium-tools==3.141.4 と selenium==4.3.0 のバージョンが不適合だから表示されています。

msedge-selenium-tools のpypiを見ると、selenium4 では不要なようですよ。
https://pypi.org/project/msedge-selenium-tools/

投稿2022/11/22 04:50

TakaiY

総合スコア12666

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

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

az_ura

2022/11/22 05:02

ご回答ありがとうございます。 質問情報が足りておらず、申し訳ございません。 Selenium4ひとつで事足りるとの情報は発見いたしましたが、Selenium4でドライバの自動更新を行う方法が見つからなかった次第です。
TakaiY

2022/11/22 05:15 編集

では、質問を編集して内容を変更ください。 そのときに、実際にどのようなところで困っているのかを明記すると回答が付きやすいですよ。
az_ura

2022/11/22 06:44

承知致しました。 修正させていただきます。
TakaiY

2022/11/22 07:03

もしかして、パッケージの機能がselenium4に取り込まれたので、msedge-selenium-toolsをアンインストールするだけでいいのでは?
az_ura

2022/11/23 05:21

その場合、 # ドライバの自動更新 driver = Edge(EdgeChromiumDriverManager().install(), options=options) ここにそのパッケージ機能を使用しているので、ドライバの自動更新ができなくなってしまうのです。
az_ura

2022/11/23 07:27

なるほど、Serviceを使用して更新を行った後にドライバーを起動しているのですね。 やりたかったことが実現できました! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問