• 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

  • 相关阅读:
    socket详解(二)----实例和多线程,线程池使用
    OpenJDK和JDK区别
    单词(11)
    程序员到项目经理:从内而外的提升(比较全面的介绍)
    如何成为一名自然语言处理工程师
    权限设计文章汇总
    ECharts+百度地图,默认选中 卫星地图
    Echarts3.0 引入百度地图(转载)
    echarts地图 鼠标滚动控制缩放大小比例(转载)
    echarts散点图 不显示问题 或宽度为0问题
  • 原文地址:https://www.cnblogs.com/syw20170419/p/6813715.html
Copyright © 2020-2023  润新知