python自动化之爬虫模拟登录

http://selenium-python.readthedocs.io/locating-elements.html

################################################################################

################################################################################

################################################################################

from selenium import webdriver

import time

 

driver=webdriver.PhantomJS(executable_path=r"D:\phantomjs-2.1.1-windows\phantomjs-2.1.1-windows\bin\phantomjs.exe") #启动phantomjs,模拟登录

driver.set_window_size(480,800) #设置浏览器宽480,高800

driver.get('https://qzone.qq.com/') #登录QQ空间主页

driver.switch_to.frame('login_frame') #切换到登录frame,因为frame的代码是独立的,必须切换到frame上,很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,用firebug也可以看到,就是定位不到,这种情况很有可能是frame在搞鬼

time.sleep(10)

 

#通过使用选择器选择到表单元素进行模拟输入和点击按钮提交

driver.find_element_by_id('switcher_plogin').click()

driver.find_element_by_id('u').clear()

driver.find_element_by_id('u').send_keys("******") ##账号

driver.find_element_by_id('p').clear()

driver.find_element_by_id('p').send_keys("*******") ##密码

driver.find_element_by_id('login_button').click()

time.sleep(10)

print (driver.page_source.split(r'当前空间等级:')[1].split(r';积分')[0])

 

 

################################################################################

################################################################################

################################################################################

from selenium import webdriver

import time

 

driver=webdriver.PhantomJS(executable_path=r"D:\phantomjs-2.1.1-windows\phantomjs-2.1.1-windows\bin\phantomjs.exe")

driver.set_window_size(480,800)

driver.get('https://mail.qq.com/cgi-bin/loginpage')

driver.switch_to.frame('login_frame')

time.sleep(10)

 

driver.find_element_by_id('switcher_plogin').click()

driver.find_element_by_id('u').clear()

driver.find_element_by_id('u').send_keys("******") ##账号

driver.find_element_by_id('p').clear()

driver.find_element_by_id('p').send_keys("*******") ##密码

driver.find_element_by_id('login_button').click()

time.sleep(10)

 

print (driver.page_source)

posted @ 2017-12-29 17:46  白鹭倾城  阅读(682)  评论(1编辑  收藏  举报