51Testing软件测试论坛

标题: 大佬们用python+selenium是如何判断登录成功的 [打印本页]

作者: 诶嘿嘿    时间: 2017-10-5 14:27
标题: 大佬们用python+selenium是如何判断登录成功的
大佬们,我在写登录自动化时用循环语句判断是否登录成功的时候判断的方法是根据页面的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()  




作者: 掉渣饼    时间: 2017-10-9 08:51
如果登录失败,是不是可以把提示语作为条件进行判断呢,就是你把错误提示语获取到,然后进行判断
作者: finomy    时间: 2017-10-9 09:18
我一般用的try+webdriverwait().until判断登录后的页面元素,不存在的话再判断有没有错误提示
try:
    xxx
except:
    try:
        xxx
    except:
        ...
作者: 安然独宠    时间: 2017-10-9 10:30
要不判断登录之后的页面元素吧
作者: 诶嘿嘿    时间: 2017-10-11 16:32
finomy 发表于 2017-10-9 09:18
我一般用的try+webdriverwait().until判断登录后的页面元素,不存在的话再判断有没有错误提示
try:
    x ...

恩恩谢啦,我这样我就搞定了
作者: 黑盒测试    时间: 2017-10-12 14:45
定位到用户名了  就登录成功了
作者: dswka    时间: 2017-11-18 10:24
不错的~~! 感谢您提供




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2