python怎么使用selenium模拟浏览器进入好友QQ空间留言功能
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,这篇文章主要讲解了"python怎么使用selenium模拟浏览器进入好友QQ空间留言功能",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python怎
千家信息网最后更新 2025年02月07日python怎么使用selenium模拟浏览器进入好友QQ空间留言功能
这篇文章主要讲解了"python怎么使用selenium模拟浏览器进入好友QQ空间留言功能",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python怎么使用selenium模拟浏览器进入好友QQ空间留言功能"吧!
首先下载selenium模块,pip install selenium,下载一个浏览器驱动程序(我这里使用谷歌)。
#导入#注意python各版本find_element()方法的变化(python3.10)from selenium import webdriverfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.common.by import By# 创建一个模拟浏览器对象,然后通过对象去操作浏览器s=Service("chromedriver.exe")browser=webdriver.Chrome(service=s)
QQ空间默认登录是使用二维码登录,我们要使用账号密码登录注意QQ空间登录框在一个iframe标签里:定位该框架
browser.get('https://qzone.qq.com/')browser.maximize_window()time.sleep(2)browser.switch_to.frame('login_frame')a_tag = browser.find_element(By.ID,"switcher_plogin")a_tag.click()
接下来就是输入账号,密码,点击登录
userName_tag = browser.find_element(By.ID,'u')password_tag =browser.find_element(By.ID,'p')time.sleep(1)userName_tag.send_keys('这里是QQ号')time.sleep(1)password_tag.send_keys('这里是密码')time.sleep(1)btn = browser.find_element(By.ID,'login_button')btn.click()
目前实现的效果图
接下来实现的是,进入上边导航栏的好友页面,并定位好友搜索框,向搜索框传递要搜索的好友
:部分iframe没有id或name,用xpath定位
browser.switch_to.default_content() # 登陆完后回到默认框架time.sleep(1)browser.find_element(By.XPATH,'//*[@id="aMyFriends"]').click()time.sleep(1)element1 =browser.find_element(By.XPATH,'//[@id="app_container"]/iframe')browser.switch_to.frame(element1)ff=browser.find_element(By.XPATH,'//*[@id="qz-search-box-input"]')ff.send_keys(friend)time.sleep(1)browser.switch_to.default_content()element2=browser.find_element(By.XPATH,'//[@id="app_container"]/iframe')browser.switch_to.frame(element2)browser.find_element(By.XPATH,'//*[@id="qz-search-box-result"]/li/div[2]/p').click()time.sleep(1)browser.find_element(By.XPATH,'//[@id="mecarewho_list"]/li/div[2]/div[2]/p/a').click()time.sleep(1)#进入好友的页面
实现效果:
接下来就是进入好友留言板进行留言
注意的是留言框和发表按钮在不同的frame,发表在外面的一层,仔细查看
windows = browser.window_handlesbrowser.switch_to.window(windows[-1])time.sleep(1)browser.find_element(By.XPATH,'//*[@id="friendship_promote_layer"]/table/tbody/tr[1]/td[2]/a').click()time.sleep(1)#browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')browser.find_element(By.XPATH,'//*[@id="menuContainer"]/div/ul/li[4]').click()#或者 browser.find_element(By.XPATH,"//div[@id='layBackground']//li[@class = 'menu_item_334']//a[text()='留言板']").click()time.sleep(3)#进入留言板browser.switch_to.frame('tgb')time.sleep(1)browser.switch_to.frame('veditor1_Iframe')time.sleep(1)ff=browser.find_element(By.XPATH,'/html/body')#留言框ff.send_keys(word)browser.switch_to.default_content()browser.switch_to.frame('tgb')dd=browser.find_element(By.XPATH,'//*[@id="btnPostMsg"]')dd.click()#确认发表按钮print("留言成功!!!")time.sleep(2)browser.quit()
python小白,有错误的的地方还请多多指教
完整代码如下:
from selenium import webdriverfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.common.by import Byimport timefrom selenium.webdriver import ActionChainsfrom selenium.webdriver import ChromeOptions# 请输入好友和留言内容qq=input('输入自己的QQ号:')friend = input('请输入好友:')word = input('请输入留言内容:')# 创建一个模拟浏览器对象,然后通过对象去操作浏览器option=ChromeOptions()option.add_argument('--headless')option.add_argument('--disable-gpu')s=Service("chromedriver.exe")browser = webdriver.Chrome(service=s,options=option)browser.get('https://qzone.qq.com/')browser.maximize_window()time.sleep(2) browser.switch_to.frame('login_frame')a_tag = browser.find_element(By.ID,"switcher_plogin")a_tag.click()userName_tag = browser.find_element(By.ID,'u')password_tag =browser.find_element(By.ID,'p')time.sleep(1)userName_tag.send_keys(qq)time.sleep(1)password_tag.send_keys('此处输入自己的密码')time.sleep(1)btn = browser.find_element(By.ID,'login_button')btn.click() browser.switch_to.default_content() # 登陆完后回到默认框架time.sleep(1)browser.find_element(By.XPATH,'//*[@id="aMyFriends"]').click()time.sleep(1)element1 =browser.find_element(By.XPATH,'//*[@id="app_container"]/iframe')browser.switch_to.frame(element1)ff=browser.find_element(By.XPATH,'//*[@id="qz-search-box-input"]')ff.send_keys(friend)time.sleep(1)browser.switch_to.default_content()element2 =browser.find_element(By.XPATH,'//*[@id="app_container"]/iframe')browser.switch_to.frame(element2)browser.find_element(By.XPATH,'//*[@id="qz-search-box-result"]/li/div[2]/p').click()#难点time.sleep(1)#搜索okbrowser.find_element(By.XPATH,'//*[@id="mecarewho_list"]/li/div[2]/div[2]/p/a').click()time.sleep(1)#进入好友# 获得打开的第一个窗口句柄windows = browser.window_handlesbrowser.switch_to.window(windows[-1])time.sleep(1)browser.find_element(By.XPATH,'//*[@id="friendship_promote_layer"]/table/tbody/tr[1]/td[2]/a').click()time.sleep(1)#browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')browser.find_element(By.XPATH,'//*[@id="menuContainer"]/div/ul/li[4]').click()#或者 browser.find_element(By.XPATH,"//div[@id='layBackground']//li[@class = 'menu_item_334']//a[text()='留言板']").click()time.sleep(3)#进入留言板browser.switch_to.frame('tgb')time.sleep(1)browser.switch_to.frame('veditor1_Iframe')time.sleep(1)ff=browser.find_element(By.XPATH,'/html/body')#留言框ff.send_keys(word)browser.switch_to.default_content()browser.switch_to.frame('tgb')dd=browser.find_element(By.XPATH,'//*[@id="btnPostMsg"]')dd.click()#确认发表按钮print("留言成功!!!")time.sleep(2)browser.quit()
感谢各位的阅读,以上就是"python怎么使用selenium模拟浏览器进入好友QQ空间留言功能"的内容了,经过本文的学习后,相信大家对python怎么使用selenium模拟浏览器进入好友QQ空间留言功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
好友
浏览器
浏览
空间
输入
留言板
登录
功能
内容
密码
对象
搜索
接下来
就是
按钮
框架
学习
定位
成功
效果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
我的共享位置无法连接服务器
宝塔数据库不启动
闵行区手机软件开发培训
云南广电网络技术中心
金昌展厅互动软件开发
网络安全监测预警工作
服务器访问网站很慢
亲家网络技术公司
网络安全的级别
互联网领先科技成果公布
网络安全融资企业
无法找到认证服务器
计算机网络技术征文
交通网络安全信息使用协议
网络安全专业大纲
物流行业人员数据库
数据库中执行有数据
服务器库存管理软件
日常生活与网络安全相关事件
浙江明讯网络技术有限公司评价
g z穿越火线连接服务器失效
无线网络技术的研究
有没有软件开发的自由职业
浙江云主机品牌服务器
未来5年网络安全行业发展
微梦网络技术
oa手机版服务器地址
数据库搜索服务器时间
西餐厅电子菜谱管理系统软件开发
海南省第七届网络安全宣传