欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用selenium模擬瀏覽器進入好友QQ空間留言功能

 更新時間:2022年04月12日 15:22:04   作者:一事無成~  
這篇文章主要介紹了python使用selenium模擬瀏覽器進入好友QQ空間留言,在本文實現(xiàn)過程中需要注意的是留言框和發(fā)表按鈕在不同的frame,發(fā)表在外面的一層,具體實現(xiàn)過程跟隨小編一起看看吧

首先下載selenium模塊,pip install selenium,下載一個瀏覽器驅(qū)動程序(我這里使用谷歌)。

#導(dǎo)入
#注意python各版本find_element()方法的變化(python3.10)
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
# 創(chuàng)建一個模擬瀏覽器對象,然后通過對象去操作瀏覽器s=Service("chromedriver.exe")browser=webdriver.Chrome(service=s)

QQ空間默認登錄是使用二維碼登錄,我們要使用賬號密碼登錄注意QQ空間登錄框在一個iframe標(biāo)簽里:定位該框架

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LmF5oul5LiN6L-H5oCd5b-1772e,size_20,color_FFFFFF,t_70,g_se,x_16

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

 目前實現(xiàn)的效果圖

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LmF5oul5LiN6L-H5oCd5b-1772e,size_20,color_FFFFFF,t_70,g_se,x_16

接下來實現(xiàn)的是,進入上邊導(dǎo)航欄的好友頁面,并定位好友搜索框,向搜索框傳遞要搜索的好友

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LmF5oul5LiN6L-H5oCd5b-1772e,size_20,color_FFFFFF,t_70,g_se,x_16

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

實現(xiàn)效果:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LmF5oul5LiN6L-H5oCd5b-1772e,size_20,color_FFFFFF,t_70,g_se,x_16

 接下來就是進入好友留言板進行留言

注意的是留言框和發(fā)表按鈕在不同的frame,發(fā)表在外面的一層,仔細查看

windows = browser.window_handles
browser.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,"http://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()#確認發(fā)表按鈕
print("留言成功?。?!")
time.sleep(2)
browser.quit()

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LmF5oul5LiN6L-H5oCd5b-1772e,size_18,color_FFFFFF,t_70,g_se,x_16

 python小白,有錯誤的的地方還請多多指教

完整代碼如下:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time
from selenium.webdriver import ActionChains
from selenium.webdriver import ChromeOptions
# 請輸入好友和留言內(nèi)容
qq=input('輸入自己的QQ號:')
friend = input('請輸入好友:')
word = input('請輸入留言內(nèi)容:')
# 創(chuàng)建一個模擬瀏覽器對象,然后通過對象去操作瀏覽器
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)#搜索ok
browser.find_element(By.XPATH,'//*[@id="mecarewho_list"]/li/div[2]/div[2]/p/a').click()
time.sleep(1)#進入好友
# 獲得打開的第一個窗口句柄
windows = browser.window_handles
browser.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,"http://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()#確認發(fā)表按鈕
print("留言成功!??!")
time.sleep(2)
browser.quit()

到此這篇關(guān)于python使用selenium模擬瀏覽器進入好友QQ空間留言的文章就介紹到這了,更多相關(guān)python模擬瀏覽器selenium內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python臨時文件創(chuàng)建之tempfile模塊介紹

    Python臨時文件創(chuàng)建之tempfile模塊介紹

    這篇文章主要介紹了Python臨時文件創(chuàng)建之tempfile模塊,Python的tempfile模塊是用來創(chuàng)建臨時文件或者文件夾的跨平臺工具,下面關(guān)于模塊簡單介紹需要的小伙伴可以參考一下
    2022-03-03
  • python實現(xiàn)文件分組復(fù)制到不同目錄的例子

    python實現(xiàn)文件分組復(fù)制到不同目錄的例子

    這篇文章主要介紹了python實現(xiàn)文件按組復(fù)制到不同目錄的例子,需要的朋友可以參考下
    2014-06-06
  • Python Matplotlib簡易教程(小白教程)

    Python Matplotlib簡易教程(小白教程)

    這篇文章主要介紹了Python Matplotlib簡易教程(小白教程),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python如何實現(xiàn)后端自定義認證并實現(xiàn)多條件登陸

    Python如何實現(xiàn)后端自定義認證并實現(xiàn)多條件登陸

    這篇文章主要介紹了Python如何實現(xiàn)后端自定義認證并實現(xiàn)多條件登陸,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Django模板繼承與模板的導(dǎo)入實例詳解

    Django模板繼承與模板的導(dǎo)入實例詳解

    模板繼承主要是為了提高代碼重用,減輕開發(fā)人員的工作量,下面這篇文章主要給大家介紹了關(guān)于Django模板繼承與模板導(dǎo)入的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • 五個Python迷你版小程序附代碼

    五個Python迷你版小程序附代碼

    在使用Python的過程中,我最喜歡的就是Python的各種第三方庫,能夠完成很多操作。下面就給大家介紹5個通過 Python 構(gòu)建的實戰(zhàn)項目,來實踐 Python 編程能力。歡迎收藏學(xué)習(xí),喜歡點贊支持
    2021-11-11
  • 解決python使用pd.read_csv()出現(xiàn)錯誤UnicodeDecodeError:?'utf-8'?codec?can't?decode......

    解決python使用pd.read_csv()出現(xiàn)錯誤UnicodeDecodeError:?'utf-8&

    你是否有過之前用pd.read打開csv文件都正常,但突然有一天運行以前的代碼就突然報錯,這篇文章主要給大家介紹了關(guān)于如何解決python使用pd.read_csv()出現(xiàn)錯誤UnicodeDecodeError:?'utf-8'?codec?can't?decode......的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • python使用matplotlib庫生成隨機漫步圖

    python使用matplotlib庫生成隨機漫步圖

    這篇文章主要為大家詳細介紹了使用Python的matplotlib庫生成隨機漫步圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Python常見庫matplotlib學(xué)習(xí)筆記之多個子圖繪圖

    Python常見庫matplotlib學(xué)習(xí)筆記之多個子圖繪圖

    Matplotlib是Python提供的一個繪圖庫,通過該庫我們可以很容易的繪制出折線圖、直方圖、散點圖、餅圖等豐富的統(tǒng)計圖,下面這篇文章主要給大家介紹了關(guān)于Python常見庫matplotlib學(xué)習(xí)筆記之多個子圖繪圖的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Python腳本破解壓縮文件口令實例教程(zipfile)

    Python腳本破解壓縮文件口令實例教程(zipfile)

    這篇文章主要給大家介紹了關(guān)于Python腳本破解壓縮文件口令(zipfile)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06

最新評論