Selenium简单的163邮箱登录实例

Selenium简单的163邮箱登录实例

我们以登录网易邮箱为例来讲解Selenium Python前面学到的基本使用方法。

一、打开浏览器,打开163邮箱登录界面

Selenium简单的163邮箱登录实例

二、元素定位

Selenium简单的163邮箱登录实例

代码详解:

切换到iframe表单,这是网易邮箱通用的一个框架

browser.switch_to.frame(‘x-URS-iframe’)

定位邮箱用户名输入框,并输入用户名

browser.find_element_by_name(‘email’).send_keys(‘cf563540134’)

定位邮箱密码输入框,并输入密码

browser.find_element_by_name(‘password’).send_keys(‘chenfeng521314’)

定位邮箱登录按钮,点击登录

browser.find_element_by_id(‘dologin’).click()

休眠3s(作用:等待网页加载完成)

time.sleep(3)

三、简单的判断是否登录成功

Selenium简单的163邮箱登录实例

代码详解:

上面有一步是切换到iframe框架上,当进入网页后,需要退出iframe才能操作网页其他的元素

browser.switch_to_default_content()

定义一个name,查看邮箱页面是否是我们登录的邮箱名,并且打印这个name

name = browser.find_element_by_id(“spnUid”).text
print(name)

简单判断一下,如果name值等于我们期望值,name我们就判断它是登录成功的,如果不等于期望值,那么我们就说明没有登录成功

if name == ‘[email protected]’:
print(u’登录成功’)
else:
print(u’登录失败’)

四、退出登录,退出浏览器

Selenium简单的163邮箱登录实例

五、运行查看结果

Selenium简单的163邮箱登录实例
这就是最简单的一个登录实例,我们刚开始学的时候不用一步到位说代码要怎么优美,怎么清晰,我们现在要做的就是怎么把元素定位成功,怎么实现我们的需求,代码优化后面会慢慢讲解。

下面附上代码完整版:

1 #!/usr/bin/env python
2 # -- coding: utf-8 --
3 from selenium import webdriver
4 import time
5 url = ‘http://mail.163.com/
6 browser = webdriver.Firefox()
7 browser.get(url)
8 time.sleep(3)
9 # ----------------------元素定位-----------------------------
10 # 切换到iframe上,下一篇内容着重讲解iframe
11 browser.switch_to.frame(‘x-URS-iframe’)
12browser.find_element_by_name(‘email’).send_keys(‘cf563540134’)
13browser.find_element_by_name(‘password’).send_keys(‘xxx’)
14 browser.find_element_by_id(‘dologin’).click()
15 time.sleep(3)
16
17 # ----------------------查看是否登录成功---------------------
18 # 退出iframe
19 browser.switch_to_default_content()
20 # 简单判断登录是否成功
21 name = browser.find_element_by_id(“spnUid”).text
22 print(name)
23 if name == ‘[email protected]’:
24 print(u’登录成功’)
25 else:
26 print(u’登录失败’)
27
28 # --------------------退出登录,退出浏览器--------------------
29 browser.find_element_by_link_text(‘退出’).click()
30 browser.quit()