Closed a-ichikura closed 1 year ago
追加情報
webdriverをfirefoxにしてみましたが、 同じようにサインインしようとすると "サーバーとの接続を確立できませんでした。" と表示されました。
2回試して同じエラーメッセージが出たので、my aiboのサイトでブロックが働いていそうです。
とりあえず別のPCで試してみるのはありそうです
とりあえず、自分の新しいデスクトップで試して見た結果
・google chromeでやろうとしたら、chromeのversionが116.0.5845.179で、有効なchromedriverのversionが116.0.5845.96であっていないためかうまくいきませんでした 参考
・firefoxのdriverで試してみたらmy aiboのサイトを開くことはできましたがaibo用pcと同じように「サーバーとの接続を確立できませんでした」となりました
ちなみにデスクトップでも、seleniumを経由せず検索から手動でログインする場合は正常にログインすることができます。
aibo_selenium_rosができたときは5月なのでgoogle chromeのversionが114っぽいのですが、 最新版が116で、114を入れたらできるかと思い試そうとしたのですがバージョン下げる方法がわからずfirefoxで試す方を優先しました…
navigator.webdriver
をはじめとする, botであることを示す項目が隠蔽されていないので検知されているのかと考えています。
オリジナルのWebDriverクラスではなく、 https://github.com/ultrafunkamsterdam/undetected-chromedriver を使うと動作しました。 PR/add-jsk-aibo-robot
の最新版をpullして使ってみてください。
@a-ichikura @sawada10
あと、現在の実装ではchromeではなく rosdep install
で入る chromium と chromium-chromedriver を使用しているので、_webdriver オプションで指定せずに立ち上げて動作するはずなのでそちらも試してみてください。(README.mdを更新しました)
デバックしていただき動くようになりました。
ただし注意点:
chrome-driverとchrome-browserのversionを合わせる必要があり、aiboのPCはどちらも115なので
undetected-chrome-driver もバージョンを合わせる必要がありました。
それに関するissue:https://github.com/ultrafunkamsterdam/undetected-chromedriver/issues/1564#issuecomment-1720271517
を参考に、__init__.py
の中にversion_main=115
を追加しました。
https://github.com/jsk-ros-pkg/jsk_robot/pull/1798#issue-1698908494
seleniumを利用してchrome webdriverを自動起動後、手動ログインしようとするとサインインに失敗する。 メールアドレス、パスワードを入力後、bot対策のクイズに答えたあとにログインできず入力したパスワードが消えてしまう。
ブラウザ(firefox, chrome)を手動で立ち上げ、同じようにmyaiboにログインすることは可能。
少なくとも8月20日頃まではサインインできていて、 9月7日現在サインインできなくなった。 →SONYのセキュリティーが変わったのかも(bot対策用クイズが8月の頃と変わっていたので…)
@sktometometo