selenium+python+eclipse 实现 “问卷星”网站,登录与检查登录示例!

1、使用selenium+python+eclipse实现的登录“问卷星”,问卷星访问地址:https://www.sojump.com/

2、实现步骤:1)进入链接---首页---点击“登录”---输入账号、密码----登录

                  2)检查登录是否成功

3、页面截图:

      

4、代码包含点:

  1)log信息的打印与特定文件中的保存     2)判断点的加入     3)基础的操作,详细见如下代码

# coding=UTF-8
'''
Created on 2017年5月4日
@author: SYW
'''
import unittest
from selenium import webdriver
import time
from logs import logging


class Test(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.base_url = "https://www.sojump.com/"
        
    def tearDown(self):
        unittest.TestCase.tearDown(self)
        
    def User_Login(self,userNumber,PassWord):
        '''方法介绍:进入到问卷星,进行登录操作
                            参数介绍:userName:用户名称,PassWord:用户密码
        '''
        driver = self.driver
        driver.get(self.base_url)
        logging.info("已进入到问卷星网页中!")
        time.sleep(1)
        driver.maximize_window()    #最大化窗口显示
        driver.find_element_by_xpath("//li[@id='ctl00_liLogin']/a/span").click()  #点击页面“登录”
        time.sleep(1)
        user = driver.find_element_by_id("ctl00_ContentPlaceHolder1_UserName")#用户账号输入框
        if user:
            user.click()
            user.send_keys(userNumber)
        else:
            logging.error("用户输入框定位失败!")
        driver.find_element_by_id("ctl00_ContentPlaceHolder1_Password").send_keys(PassWord)   #用户密码输入框,及输入密码
        logging.info("点击登录按钮")
        driver.find_element_by_id('ctl00_ContentPlaceHolder1_LoginButton').click()   #登录按钮
        
    def Check_User_Login(self):
        logging.info("检查登录!")
        driver = self.driver
        time.sleep(2)    #停留2秒,给页面加载缓冲时间
        for i in range(2):   #循环两次,避免网络问题
            try:
                if "00000000001t"==driver.find_element_by_id("ctl01_lblUserName").text: #获取到登录账号后的用户昵称与已知账号昵称进行比较判断
                    logging.info("问卷星登录成功!")
                    break
                else:
                    logging.error("问卷星登录失败!")     
            except: logging.error("异常,问卷星登录失败!")
            time.sleep(1)  #每次循环结束的等待时长,可自己定义给出
        
    def test_Name(self):
        self.User_Login('18392868125','855028741616')
        self.Check_User_Login()

if __name__ == "__main__":
    unittest.main()

运行结果log打印形式展示:[2017-05-05 16:10:59,174] [line:48] [INFO]: 问卷星登录成功!   Ran 1 test in 12.057s   OK

原文地址:https://www.cnblogs.com/syw20170419/p/6813715.html