python通过selenium模块模拟自动登录(以QQ空间为例)

python通过selenium模块模拟自动登录(以QQ空间为例)

自己根据网上学习了下selenium模块的运用实现网页的自动登录功能,分享一下一些心得,大佬请跳过。

以使用Chrome自动登录QQ空间为例

1.下载对应浏览器版本的驱动(Chromedriver)。
谷歌浏览器驱动地址: http://npm.taobao.org/mirrors/chromedriver/
2.打开QQ空间
在这里插入图片描述
因为需要点击“账号密码登录”才能跳转到登录界面,因此我们右键“账号密码登录”找到其xpath
在这里插入图片描述
同理在之后的输入账号密码页面找到对应文本框的xpath

3.创建python脚本

    driver.switch_to.frame("login_frame")#加载嵌入在页面中的iframe定位元素
    driver.find_element_by_xpath("/html/body/div[1]/div[9]/a[1]").click()#xpath获取元素
    time.sleep(1)

    input1=driver.find_element_by_xpath("/html/body/div[1]/div[5]/div/div[1]/div[3]/form/div[1]/div/input")
    #通过xpath获取账号文本框的对象
    input2=driver.find_element_by_xpath("/html/body/div[1]/div[5]/div/div[1]/div[3]/form/div[2]/div[1]/input")
    # 通过xpath获取密码文本框的对象

因为包含了一个嵌入式页面,所以需要加载嵌入在页面中的iframe定位元素

 driver.switch_to.frame("login_frame")

在这里插入图片描述

最后实现点击登录按钮功能
在这里插入图片描述

driver.find_element_by_id('login_button').click()
    #获取登录按钮的id并设置点击事件

最后上源码(菜鸡勿喷O.o)

from selenium import webdriver
import time
driver=webdriver.Chrome()# 括号中填写chromedriver驱动的路径
try:
    driver.get("https://qzone.qq.com/")#网址

    driver.implicitly_wait(1)#设置等待时间,防止因为页面没加载出来而获取不到网页元素的xpath
    driver.switch_to.frame("login_frame")#加载嵌入在页面中的iframe定位元素
    driver.find_element_by_xpath("/html/body/div[1]/div[9]/a[1]").click()#xpath获取元素
    time.sleep(1)#强制睡眠

    input1=driver.find_element_by_xpath("/html/body/div[1]/div[5]/div/div[1]/div[3]/form/div[1]/div/input")
    #通过xpath获取账号文本框的对象
    input2=driver.find_element_by_xpath("/html/body/div[1]/div[5]/div/div[1]/div[3]/form/div[2]/div[1]/input")
    # 通过xpath获取密码文本框的对象
    input1.send_keys()#输入账号
    input2.send_keys()#输入密码
    #向文本框传入账号密码
    driver.find_element_by_id('login_button').click()
    #获取登录按钮的id并设置点击事件
    time.sleep(10)
    #设置响应时间
finally:
    #driver.close()
    print("成功登录")
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThatDawn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值