前提・実現したいこと
プロキシサーバー経由でインターネットアクセスしている環境下で、
seleniumを用いてGoogle Chromeを操作し、あるWeb操作の自動化を考えています。
普段はインターネットにアクセスする際、ポップアップウィンドウに
IDとパスワードを入力しないと接続できません。
web操作の自動化の部分は、プロキシサーバーを通さない状態ではうまくいきました。
(具体的には、find_element_by_css_selectorを使うものです。)
簡単に、下記のコードを例として質問させてください。
動かしたいソースコード
Python
1from selenium import webdriver 2from selenium.webdriver.chrome.options import Options 3 4options = Options() 5 6#追加欄 7 8DRIVER_PATH = "hoge" 9driver = webdriver.Chrome(executable_path = DRIVER_PATH) 10driver.get("hogehoge") 11 12#実際にはここにやりたい動作が入る 13 14
追加欄の部分と動作、質問したいこと
【前提】
まず、上述したように上記のソースコード(追加欄の部分に何も入力しない状態)をプロキシサーバーを
経由しない環境で動かすと、特に問題なく動作しました。
【プロキシサーバー環境下での動作1】
これをプロキシサーバー経由の環境下で動かすと、
手動でインターネットにアクセスするサイト同じようにIDとパスワードの入力欄が立ち上がります。
ここに手動でIDとパスワードを入力すると、目的のサイトにはアクセスするのですが、
NoSuchElementException: Message: no such element: Unable to locate element: ~
とエラーが出ます。
プロキシサーバーではない環境では出なかったエラーです。
質問①: 同じコードでも、プロキシサーバーを経由した場合とそうでない場合で動作が異なる(cssタグを見つけられるのと見つけられない)ということはあるのでしょうか?
なお、この後の質問でログインの自動化についてもご質問させて頂きますが、最終的にはログインの動作は手動で行ってもかまいませんので、上記の問題の解決法があればそれだけでも教えて頂きたいです。
【プロキシサーバー環境下での動作2】
ログインの動作部分の自動化を目的に、上記コードの追加欄に下記のコードを追加しました。
python
1 2PROXY = "hoge:○○" 3PROXY_AUTH = "ID:Pass" 4 5options.add_argument("--proxy-server=http://%s" % PROXY) 6options.add_argument("--proxy-auth=%s" %P ROXY_AUTH) 7options.add_argument("--proxy-server='direct://'") 8
すると、ブラウザに「このサイトにアクセスできません( ERR_NO_SUPPORTED_PROXIES)」と出ます。
【プロキシサーバー環境下での動作3】
上記コードの追加欄に、下記のコードを追加しました。
python
1 2PROXY = "hoge:○○" 3PROXY_AUTH = "ID:Pass" 4 5options.add_argument("--proxy-server=http://%s" % PROXY) 6options.add_argument("--proxy-auth=%s" % PROXY_AUTH) 7options.add_argument("--proxy-server='direct://'") 8options.add_argument("--proxy-bypass-list=*") 9 10
すると今度は、
「このサイトにアクセスできません。hogehogeからの応答時間が長すぎます。(ERR_CONNECTION_TIMED_OUT)」
と出ます。
**質問②:**上記の方法ではプロキシサーバー環境下で自動ログインをさせることはできないのでしょうか。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
python = 3.8.5
selenium = 3.141.0
Google Chrome = 96.04664.45
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/05 09:42
2021/12/06 02:38
2021/12/06 05:52
2021/12/06 09:20
2021/12/06 09:30
2021/12/06 22:59
2021/12/07 11:35
2021/12/07 13:58
2021/12/07 14:32 編集
2021/12/07 22:48
2021/12/08 03:34 編集
2021/12/08 10:58