Mac + Python2.7 + iTerm 实现自动登录QQ空间

实习公司需要做自动运维,遇到需要自动登录vpn的问题,于是接触了python,根据CriseLYJ的代码,解决了一些小坑,现在写一个完整的文档记录一下。

准备工作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//1. Mac自带Python2.7
$ python

//2.安装pip
$ brew install pip
//2.1遇到问题就换下面方式
$ sudo easy_install pip

//3.安装selenium
$ sudo pip install selenium
//3.1遇到问题就换下面方式
sudo pip install --default-timeout=100 selenium

//4.下载chromedriver
https://sites.google.com/a/chromium.org/chromedriver/home

zone.py代码修改版

[源码出处]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import time # 用来延时
from selenium import webdriver

# 此处我选择的Chrome 双引号中输入你的chromedriver存放位置
driver = webdriver.Chrome("/Users/xxx/Downloads/chromedriver")
# 此处将input()修改为raw_input()
QQ_NUMBER = raw_input('请输入你的QQ号')
PASSWORD = raw_input('请输入你的QQ密码')

driver.get('http://i.qq.com/')
driver.switch_to.frame('login_frame')
driver.find_element_by_id('switcher_plogin').click()

driver.find_element_by_name('u').clear()
driver.find_element_by_name('u').send_keys(QQ_NUMBER)
driver.find_element_by_name('p').clear()
driver.find_element_by_name('p').send_keys(PASSWORD)
driver.execute_script("document.getElementById('login_button').parentNode.hidefocus=false;")

driver.find_element_by_xpath('//*[@id="loginform"]/div[4]/a').click()
driver.find_element_by_id('login_button').click()

# 因为我曾经是QQ会员,所以每次登陆时都会提醒我要不要再续费的弹窗(CriseLYJ)
time.sleep(10)
# 这个地方是我把那个弹窗给点击了,配合上面的延时用的
# 延时是等待那个弹窗出现,然后此处点击取消
# driver.find_element_by_id('dialog_button_1').click()

# 此处是CSS选择器
btns=driver.find_elements_by_css_selector('a.item.qz_like_btn_v3')
for btn in btns:
btn.click()

使用zone.py登陆QQ空间

1
2
3
4
// 移动到zone.py所在文件夹
$ cd /xxx/Documents
$ chmod 777 zone.py
$ ./zone.py
Donate here.