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

 

posted @   Syw_文  阅读(1495)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示