Python + Selenium 实现登录Office 365
最近捡起之前用的Python + Selenium实现工作中需要的登录Office 365功能。(吐槽:国内网络真是卡,登录Office 365实属不易。另外Selenium这样的网站都要墙,无法理解,据说是用了Google的IP,whatever……)
试图研究一下Selenium和WebDriver的关系,看了官方的介绍,先摘录一段有趣的内容:
Jump to 2008. The Beijing Olympics mark China’s arrival as a global power,massive mortgage default in the United States triggers the worst internationalrecession since the Great Depression, The Dark Knight is viewed by every human(twice), still reeling from the untimely loss of Heath Ledger. But the mostimportant story of that year was the merging of Selenium and WebDriver.
我本来想研究当前的Selenium到底哪些是Webdriver?哪些是原来的Selenium?但是后来发现两者似乎已经融为一体。可以从他们类的结构窥见一斑:

http://selenium.googlecode.com/git/docs/api/py/api.html
我的登录Office 365的核心代码如下,可以说非常简单:
def login_o365(self):
self.driver = webdriver.Firefox()
self.driver.maximize_window()
self.driver.get(self._login_url)
time.sleep(5)
self.driver.find_element(*self._login_username_field_locator).send_keys(self._login_username)
time.sleep(1)
self.driver.find_element(*self._login_password_field_locator).send_keys(self._login_password)
time.sleep(1)
self.driver.find_element(*self._login_password_field_locator).send_keys(Keys.RETURN)
time.sleep(1)
self.driver.find_element(*self._login_submit_button_locator).click()
time.sleep(20)
print 'Log in O365 successfully!'
其中让我折腾了很久的一个问题是,在输入密码后,一定要有send一个RETURN的步骤,不然点击登录按钮会没有响应,具体原因有待下回分解……
Python + Selenium 实现登录Office 365的更多相关文章
- 使用Python+Selenium模拟登录QQ空间
使用Python+Selenium模拟登录QQ空间爬QQ空间之类的页面时大多需要进行登录,研究QQ登录规则的话,得分析大量Javascript的加密解密,这绝对能掉好几斤头发.而现在有了seleniu ...
- python+selenium自动化登录dnf11周年活动界面领取奖励登录部分采坑总结[1]
背景: Dnf的周年庆活动之一,游戏在6月22日 06:00~6月23日 06:00之间登陆过游戏后可以于6月25日 16:00~7月04日 06:00领取奖励 目标:连续四天自动运行脚本,自动领取所 ...
- Python+ Selenium自动化登录腾讯QQ邮箱实例
学习了Python语言一段时间后,在公司的项目里也使用到了python来写测试脚本,一些重复的操作都使用脚本来处理了.大大的提高工作效率,减少了一些手工重复的操作. 以下是使用unittest框架写的 ...
- python+selenium实现登录账户
selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Gr ...
- python selenium模拟登录163邮箱和QQ空间
最近在看python网络爬虫,于是我想自己写一个邮箱和QQ空间的自动登录的小程序, 下面以登录163邮箱和QQ空间和为例: 了解到在Web应用中经常会遇到frame/iframe 表单嵌套页面的应用, ...
- python selenium cookie 登录
概要: 1.正常登录,使用selenium获取cookie: 2.保存cookie: 3.使用cookie登录. 4.python--2.7,selenium--3.4.1 步骤1 正常登录,使用se ...
- 九、Python+Selenium模拟登录
研究QQ登录规则的话,得分析大量Javascript的加密解密,比较耗时间.自己也是练习很少,短时间成功不了.所以走了个捷径. Selenium是一个WEB自动化测试工具,它运行时会直接实例化出一个浏 ...
- python selenium 百度登录
from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www. ...
- Office 365实现单点登录系列(5)—配置单点登录
这是单点登录系列的最后一篇文章,前面4篇文章其实都是在为这篇文章的内容做准备,我把这四篇文章的链接放在下面,如果大家有需要,可以参考我以下的链接: Office 365实现单点登录系列(1)—域环境搭 ...
随机推荐
- Java泛型中的? super T语法
? super T 语法将泛型类限制为所有T的超类(包括T自身),但只能用于参数中,不可以在返回值用加以限定.如果不加以限定,假设某个函数头为? super Manager get()由于编译器不知道 ...
- 学习中的错误——ubuntu 14.04 LTS 启动eclipse报错
在ubuntu中启动eclipse报错:(Eclipse:15978): GLib-GIO-CRITICAL **: g_dbus_connection_get_unique_name: assert ...
- export a java project to runable jar
When a java project needs to be transfered to another machine, e.g. vps, we need to export it to a r ...
- 利用border-radious画图形
今天才发现,border-radius可以画很多图形,下面跟我来看一下吧: 在设有宽和高的情况下画一个圆: #div1{ /*宽高相等,圆角范围为高或宽的一半或以上*/ background-colo ...
- HTML5在VS2010中的智能提示
按照baidu首页的方法是行不通的,于是尝试下面的方法 原文来自这里,我翻译以下 下载这个文件 this archive 并解压. 复制 html_5.xsd to D:\Program File ...
- ThinkPHP学习遇到的点问题(学习中,持续更新)
1.__ROOT__变量没有值的问题 今天遇到这个比较变态的问题,可能是我技术比较菜吧,搞了一个多小时,最后发现问题可能出现在 入口文件中定义的APP_NAME的名字和项目的跟目录名称相同了,比如我网 ...
- 第7章 LED将为我闪烁:控制发光二极管
所谓I/O内存是通过各种接口连接到主机的硬件在主机内存的映射.LED驱动还提供了两种交互方式:命令和读写设备文件. 创建设备文件的步骤: 第1步:使用cdev_init函数初始化cdev 第2步:指定 ...
- 控制ClistCtrl的滚动的位置
int nItem = m_listCtrl.GetTopIndex(); CRect rc; m_listCtrl.GetItemRect(nItem, rc, LVIR_BOUNDS); CSiz ...
- WCF Restful 服务器配置文件
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSec ...
- ORACLE存储过程学习
存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE ...