文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python怎么使用selenium模拟浏览器进入好友QQ空间留言功能

2023-06-30 00:55

关注

这篇文章主要讲解了“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标签里:定位该框架

python怎么使用selenium模拟浏览器进入好友QQ空间留言功能

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()

 目前实现的效果图

python怎么使用selenium模拟浏览器进入好友QQ空间留言功能

接下来实现的是,进入上边导航栏的好友页面,并定位好友搜索框,向搜索框传递要搜索的好友

python怎么使用selenium模拟浏览器进入好友QQ空间留言功能

 :部分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)#进入好友的页面

实现效果:

python怎么使用selenium模拟浏览器进入好友QQ空间留言功能

 接下来就是进入好友留言板进行留言

注意的是留言框和发表按钮在不同的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怎么使用selenium模拟浏览器进入好友QQ空间留言功能

 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空间留言功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯