51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5558|回复: 6
打印 上一主题 下一主题

[求助] 大佬们用python+selenium是如何判断登录成功的

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-10-5 14:27:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大佬们,我在写登录自动化时用循环语句判断是否登录成功的时候判断的方法是根据页面的URL判断,而登录成功时我能够获取到URL并进行判断,程序没有问题,而在登录失败后浏览器会弹出个提示框,而这个时候我就获取不到URL了,请问大佬们有什么好办法吗?下面是我的代码,请大佬们看下有没有什么问题


from selenium import webdriver
import time


url = "http://123456.com/userModule/loginModule/index.html"
pwd = ["123456", ",.147258369", "987654321", "12345", "1234567"]  

for x in pwd:  
    time.sleep(5)
    driver = webdriver.Firefox()
    driver.get(url)
    time.sleep(2)

    driver.find_element_by_xpath("/html/body/div[2]/div/div/div[2]/div[1]/input").clear()
    driver.find_element_by_xpath("/html/body/div[2]/div/div/div[2]/div[1]/input").send_keys("18000000000")
    time.sleep(2)
    driver.find_element_by_xpath("/html/body/div[2]/div/div/div[2]/div[2]/input").clear()
    driver.find_element_by_xpath("/html/body/div[2]/div/div/div[2]/div[2]/input").send_keys(x)
    time.sleep(2)

    driver.find_element_by_xpath("/html/body/div[2]/div/div/div[2]/div[4]/button").click()  




    #z这个获取网站url的方法在登录是吧页面弹出提示弹窗后就无法使用了,有大佬知道为什么吗
    strs = driver.current_url
    print(strs)


    if strs == "http://123456.com/":  
        break  
    else:
            print("now")
            break

        driver = driver.switch_to_alert()
        driver.accept()

        driver.quit()  



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2021-12-24 13:41
  • 签到天数: 314 天

    连续签到: 1 天

    [LV.8]测试军长

    2#
    发表于 2017-10-9 08:51:09 | 只看该作者
    如果登录失败,是不是可以把提示语作为条件进行判断呢,就是你把错误提示语获取到,然后进行判断
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-10-12 17:51
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]测试营长

    3#
    发表于 2017-10-9 09:18:50 | 只看该作者
    我一般用的try+webdriverwait().until判断登录后的页面元素,不存在的话再判断有没有错误提示
    try:
        xxx
    except:
        try:
            xxx
        except:
            ...

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10 赶快去商城换取奖.

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-1-25 15:49
  • 签到天数: 23 天

    连续签到: 1 天

    [LV.4]测试营长

    4#
    发表于 2017-10-9 10:30:59 | 只看该作者
    要不判断登录之后的页面元素吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2017-10-11 16:32:20 | 只看该作者
    finomy 发表于 2017-10-9 09:18
    我一般用的try+webdriverwait().until判断登录后的页面元素,不存在的话再判断有没有错误提示
    try:
        x ...

    恩恩谢啦,我这样我就搞定了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-5-10 09:16
  • 签到天数: 172 天

    连续签到: 2 天

    [LV.7]测试师长

    6#
    发表于 2017-10-12 14:45:53 | 只看该作者
    定位到用户名了  就登录成功了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2017-11-18 10:24:04 | 只看该作者
    不错的~~! 感谢您提供
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 01:16 , Processed in 0.067365 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表