利用selenium模拟登陆

第一部:利用selenium登陆 导入selenium库

from selenium import webdriver

明确模拟浏览器在电脑中存放的位置,比如我存在当前目录
chromePath = r'.\chromedriver.exe'

用selenium的webdriver方程指明浏览器的路径,同时打开一个浏览器。模拟浏览器有多种可选,比如Firefox, Safari。本次用的是谷歌的模拟浏览器。注意:'.Chome'是大写字母。
wd = webdriver.Chrome(executable_path= chromePath)

让webdriver为你填写用户名和密码
wd.find_element_by_xpath('用户名选项卡位置').send_keys('用户名') wd.find_element_by_xpath('密码选项卡位置').send_keys('密码')

让webdrive点击登陆,若是按钮就选择用click(),若是表单就选择submit()。
wd.find_element_by_xpath('登陆按钮所在位置').click() #若是按钮 wd.find_element_by_xpath('登陆按钮所在位置').submit() #若是表单

登陆完成,所有的cookies现在都存在了'wd'里面,可随时调用。
第二部:将selenium的cookies传入requests 导入requests库,并构建Session()
import reqeusts req = requests.Session()

从‘wd'里调出cookies
cookies = wd.get_cookies()

将selenium形式的cookies转换为requests可用的cookies。
for cookie in cookies: req.cookies.set(cookie['name'],cookie['value'])

通过上述方法可以说是万能的登录方法,重点注意的是一定要下载谷歌模拟器chromedriver.exe。
全部代码:
# encoding=utf8 ''' 解决中文乱码 ''' import sys reload(sys) sys.setdefaultencoding('utf8')import requests from selenium import webdriver chromePath = r'.\chromedriver.exe' wd = webdriver.Chrome(executable_path= chromePath) #构建浏览器 loginUrl = 'http://www.weibo.com/login.php' wd.get(loginUrl) #进入登陆界面 wd.find_element_by_xpath('//*[@id="loginname"]').send_keys('xxxxx') #输入用户名 wd.find_element_by_xpath('//*[@id="pl_login_form"]/div/div[3]/div[2]/div/input').send_keys('xxxxx') #输入密码 wd.find_element_by_xpath('//*[@id="pl_login_form"]/div/div[3]/div[6]/a').click() #点击登陆 req = requests.Session() #构建Session cookies = wd.get_cookies() #导出cookie for cookie in cookies: req.cookies.set(cookie['name'],cookie['value']) #转换cookies print(cookies) #打印cookies

【利用selenium模拟登陆】转载于:https://www.cnblogs.com/peterpoker/p/9631630.html

    推荐阅读