PythonのSeleniumライブラリについてです。
EdgeでhttpのURLを開こうとしましたが、
自動でhttpsにリダイレクト?されています。
httpのまま開くことはできないでしょうか?
以下、コードの主要部分のみ示します。
なお、URLは社外秘であるため、適当に書いています。
Python
1driver = webdriver.Edge() 2url = 'http://sample.co.jp/' 3driver.get(url) 4input()
答えは、togeさんの回答の通りですが、
ブラウザの自動操作は、まず手動で操作して問題なく出来る事を確認してからです。
手動では出来ることでも自動操作ではいくら頑張っても出来ないことはありますが。
(サーバー側で自動操作でないことを何らかの手段で確認している場合など)
いつもご回答やコメントを頂き、ありがとうございます。
手動で操作して問題なく実施できることは確認しております。
toge_様のご回答へのコメントにも書かせていただいた通り、Seleniumでの自動化の際に生じた問題になります。
以上、よろしくお願いいたします。
> なお、URLは社外秘であるため、適当に書いています。
社内のサイトということであればサイトの担当者に問い合わせはしましたでしょうか?
回答へのコメントを見ましたが、
> Seleniumで立ち上げられたEdgeには適用されないため、
「ブラウザの設定をデフォルトから変更して、手動ではOKになった」ということでしょうか?
であれば、Seleniumが起動するブラウザのプロファイルにもそれと同じ設定にしないと駄目ですね。
手動ブラウザで正常動作するまでにやったことと同じ事をSelenium側でもやる必要があります。
設定変更済みのプロファイルをEdgeのコマンドラインオプションで指定できるのであれば(Chromeだと出来ます)、そういう手段が楽でしょう。
設定済みプロファイルの使用は、「手動では認証できるが、Selenium経由だと認証が難しい(ロボットと判断されるなど)ので、手動で認証済みのプロファイルをSelenium軽油でも使いたい」とかのニーズで、Chromeについては過去に何度もそういう質問が出ています。Edgeでのケースはあったかどうか。
お返事ありがとうございます。
Edgeではflagを設定するのですが、Seleniumで同等の設定を行う方法を調べても見つけることができませんでした。
英語のドキュメント等で設定可能なオプションを確認しましたが、該当のものがなさそうでした。