2016-11-03 2 views
0

質問:しっかりPythonのセレンを使用してテキストボックスにパスワードを入力し

がしっかりとPythonのセレンを使用して、テキストボックスにパスワードを入力/送信するためにそこに方法は何ですか?暗号化、基本認証ヘッダーなど?

例(安全でない):

driver = webdriver.Chrome() 
Pass = WebDriverWait(driver, timeout_time).until(
    lambda driver : driver.find_element_by_id('Pass')) 
Pass.send_keys(password) 

説明:

これに伴う問題は、パスワードがプレーンテキストでstdoutstderrに書き込まれていることです。誰でもあなたのログファイルを取得し、あなたのアカウントを認証することができます。私はおそらくstdoutstderr/dev/nullに送ることができますが、より良い方法が必要ですか?

また、passwordがファイルに書き込まれた場合、誰かがあなたのリクエストを傍受し、あなたの詳細を非常に簡単に取得できる可能性がありますか?

答えて

0

このような方法はないと思います。セレンの目的はテストを自動化することです。 send_keysメソッドを使用してパスワードを与える必要がある場合、パスワードはいつでも読むことができます。 Pythonの観点から 、あなたが64ビットエンコーディング使用することができます。このソリューションにより

>>> import base64 
>>> print base64.b64encode("password") 
cGFzc3dvcmQ= 
>>> print base64.b64decode("cGFzc3dvcmQ=") 
password 

を、あなたのパスワードを直接あなたのコードで書かれていませんが、デコード簡単にすることができます。 64ビット符号化が容易に認識可能である(すなわち、「=」文字)ので、この技術は安全ではない。

別のアイデアは、パスワードを別のpythonファイルに書き込んでコンパイルすることです。あなたは "toto.pyc"ファイルを取得し、コンパイルされたバイトコードだけであるため、人間が読むことができません。あなたの実際のスクリプトでは、このモジュールをインポートするだけで、パスワード変数にアクセスします。

最初に述べたように、ある時点でパスワードを読み取ることができるため、完全に安全ではありません。

関連する問題