700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python通过selenium模块模拟自动登录(以QQ空间为例)

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

时间:2022-09-30 21:24:53

相关推荐

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

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

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

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

1.下载对应浏览器版本的驱动(Chromedriver)。

谷歌浏览器驱动地址: /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 webdriverimport timedriver=webdriver.Chrome()# 括号中填写chromedriver驱动的路径try:driver.get("/")#网址driver.implicitly_wait(1)#设置等待时间,防止因为页面没加载出来而获取不到网页元素的xpathdriver.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("成功登录")

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。