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