python怎么使用selenium模拟浏览器进入好友QQ空间留言功能
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要讲解了"python怎么使用selenium模拟浏览器进入好友QQ空间留言功能",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python怎
千家信息网最后更新 2024年11月23日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安全错误
数据库的锁怎样保障安全
灵武市政务软件开发贵吗
数据库免费版
预付的软件开发费
瑞思数据库包括什么
软件开发数据库技术
软件开发是青春饭
yn智慧校园服务器无响应
软件开发用户使用手册
以下属于非关系性数据库的
网络安全行为内容
数据库的相近词
数据库和区块链的关系
江西关屹网络技术有限公司
架设服务器安全
专科工业软件开发技术专业
x79服务器电脑电源
杭州小蜴网络技术地址
java能转数据库工作吗
软件开发傻瓜工具
删除数据库所有数据表
德国服务器租用
关于网络安全应该注意哪些
数据库审计工具
M1做软件开发
数据库将表内分类
台湾代理服务器下载
如果app服务器在境外
网络安全教育专刊
吉林软件开发团队
关于佐助的服务器名称