selenium操作不熟练的可以查看一下这篇文章:selenium操作大全
一、登录前准备操作
定位一下相对应html位置,输入一般为input标签、登录按钮一般为button。
输入账号密码那块:
定位代码:
driver.find_element_by_xpath('//input[@type="text"]').send_keys('账号xxxxxx') driver.find_element_by_xpath('//input[@type="password"]').send_keys('密码xxxxx') # 账号密码那里要改成自己的账号密码
注意,这里实例化Firefox()需要去下载安装火狐浏览器及驱动。
登录按钮位置:
定位代码:
driver.find_element_by_xpath('//button[@type="text"]')
写代码前需要掌握的内容:
.find_element_by_xpath():用xpath定位元素位置
.send_keys() :在对应位置输入一段内容
.click() :模拟鼠标左键单机
二、自动化登录总代码:
from selenium import webdriverimport timeurl_login = '/member/login.jhtml' # 登录界面网站driver = webdriver.Firefox() # 打开浏览器driver.get(url_login)# 进入登录界面driver.find_element_by_xpath('//input[@type="text"]').send_keys('账号xxxxxxxxx')time.sleep(2)# 要让他睡一下防止动作太快了别检测到driver.find_element_by_xpath('//input[@type="password"]').send_keys('密码xxxxxxxxx')time.sleep(2)# 点击登录按钮driver.find_element_by_xpath('//button[@type="submit"]').click()
登录完后可以直接获取其对应cookie
cookie_list = driver.get_cookies()
三、扫码登录
通过账号密码自动登录有个缺点就是有时候不太稳定可能会被检测到,最好是扫码登录,下面附扫码登录代码,与上面操作类似
先找到二维码登录按钮然后点击最后手动扫码登录(这个比较稳定成功率最高)
driver.find_element_by_xpath('//i[@class = "iconfont icon-qrcode"]').click()# 找到扫码位置time.sleep(10) # (10秒用于手动扫码登录,按自己手速调节)