selenium判断登录时候成功--例子

来源:互联网 发布:js中创建数组 编辑:程序博客网 时间:2024/05/14 15:47

条件:win10+Python3.6.2+selenium+firefox 。注:这里需要下载一个火狐的驱动geckodriver.exe程序放到Python的安装目录

废话不多说,直接上例子。

from selenium import webdriverimport timeurl = "http://email.163.com/#from=163nav_icon"  # 邮箱登录网站首页pwd = ["123456789", ",.147258369", "987654321", "12345", "963258741"]  # 密码for x in pwd:  # 遍历密码     time.sleep(5)    driver = webdriver.Firefox()    driver.get(url)    time.sleep(2)    # find_element_by_id() 函数是获取页面的标签的id的名字,我这里查到邮箱账号框的id“idInputLine”    # 不同的页面id是不同的,send_keys()函数是向这个框里面输入内容。    driver.find_element_by_id("idInputLine").send_keys("wangyi@163.com")  # 发送邮箱账号    time.sleep(2)    driver.find_element_by_id("pwdInput").send_keys(x)  # 发送密码    time.sleep(1)    # click() 函数是点击某个标签。我这里查询到,登录按钮标签的id“btnSubmit”,所以点击登录    driver.find_element_by_id("btnSubmit").click()  # 点击确认按钮    # 这里最重要,因为我目前并没有发现selenium里面有检查是否登录成功的函数,所以我现在只能自己实现,摸索半天后,发现    # 他的页面有个P标签,id“errorInfo”,这里面原本是没有任何内容的,但是当我密码或者账号错误的时候就会出现对应的    # 错误提示,如果登录成功,必然不会有任何内容,所以灵感来了,我直接判断它的值既可以判断是否登录成功    strs = driver.find_element_by_id("errorInfo").text  # 获取id“errorInfo”的内容    if strs == "":  # 判断        break  # 登录成功则跳出循环,不关闭浏览器窗口    else:        # print("密码是:%s" % x)        driver.quit()  # 登录失败则关闭浏览器窗口并且进行下一次循环
以上例子是我在学习selenium自己摸索的,只要求结果,所以有很多地方或许做的不是很好,在这里我仅仅只是提供一个判断登录时候成功的思想,当然网上还有很多很好的列子可以供大家学习。

阅读全文
1 0
原创粉丝点击