end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

selenium + python3 + ie driver で自動ログイン

先程のエントリのおまけ。IEで自動ログイン。

srcは以下の通りですが、IEの場合、seleniumで動作させる為の設定がやや手間

#!/usr/local/bin/python
# -*- coding: utf-8 -*-
import getopt
import sys
from selenium import webdriver
from time import sleep
import unittest  # https://docs.python.jp/3/library/unittest.html

CONF = \
    {'web_driver':'c:/home/end0tknr/tmp/SELENIUM/IEDriverServer.exe',
     'id':'foofoo',
     'pw':'hogehoge'}

class TestSample(unittest.TestCase):
    def setUp(self):    # test前の準備
        self.browser = webdriver.Ie(CONF['web_driver'])
    
    def tearDown(self): # test後の後始末
        self.browser.quit();

    def test_login(self):
        self.browser.get("https://hogehoge.co.jp/contents/browse.pl?cid=51571")
        login_id_form = self.browser.find_element_by_id('credential_0')
        login_id_form.send_keys(CONF['id'])
        login_pw_form = self.browser.find_element_by_id('credential_1')
        login_pw_form.send_keys(CONF['pw'])
        login_btn =     self.browser.find_element_by_id('loginBtFrame')
        self.browser.execute_script("IdPassword.login(); return false")
        sleep(3)
        self.assertEqual(self.browser.current_url,
                         'https://login.hogehoge.co.jp/image')

    
if __name__ == '__main__':
    unittest.main(verbosity=2)