1. 程式人生 > >第五篇 - Selenium突破反爬獲取qq郵件標題

第五篇 - Selenium突破反爬獲取qq郵件標題

切換 右擊 oar ntc inf 我們 css_ 不同 web

 1 from selenium import webdriver
 2 from selenium.webdriver import ActionChains
 3 
 4 #1.打開登陸頁面
 5 wd = webdriver.Chrome()
 6 wd.implicitly_wait(10)
 7 wd.get(https://mail.qq.com/)
 8 
 9 #2.切換到賬號密碼登陸
10 login_frame = wd.find_element_by_id(login_frame)
11 wd.switch_to.frame(login_frame)
12 wd.find_element_by_id(
switcher_plogin).click() 13 14 #3.輸入賬號密碼 15 u = wd.find_element_by_id(u) 16 u.send_keys(‘‘)#---------------此處填QQ號 17 p = wd.find_element_by_id(p) 18 p.send_keys(‘‘)#----------------此處填QQ郵箱密碼 19 20 #4.點擊登陸按鈕 21 wd.find_element_by_id(login_button).click() 22 23 #5.點擊收信 24 wd.find_element_by_id(
folder_1).click() 25 #6.切換到收信iframe框架裏 26 main_frame = wd.find_element_by_id(mainFrame) 27 wd.switch_to.frame(main_frame) 28 29 #獲取第一個tab頁 30 h = wd.current_window_handle 31 32 #通過css選擇器,找到我們郵件列表裏面的內容 33 email_eles = wd.find_elements_by_css_selector(.toarea .F, .toarea .M) 34 email_eles_count = len(email_eles)
35 #遍歷每一封郵件 36 for i in range(email_eles_count): 37 #獲取郵件列表的郵件項 38 email_ele = wd.find_elements_by_css_selector(.toarea .F, .toarea .M)[i] 39 #右擊郵件項 40 ActionChains(wd).context_click(email_ele).perform() 41 #然後選擇在新窗口打開 42 wd.find_elements_by_css_selector(.menu_item)[1].click() 43 #切換到郵件詳情頁tab 44 email_detail_handle = wd.window_handles[2]#----------此處的數字個人可能不同,1或者2,可自行調試 45 wd.switch_to.window(email_detail_handle) 46 #切換到內容部分 47 main_frame = wd.find_element_by_id(mainFrame) 48 wd.switch_to.frame(main_frame) 49 #獲取郵件的標題 50 subject = wd.find_element_by_id(subject).text 51 #獲取郵件的內容 52 # content = wd.find_element_by_id(‘mainContentContainer‘).text 53 print(subject) 54 #關閉tab頁 55 wd.close() 56 #回到第一個tab頁,即郵件列表tab 57 wd.switch_to.window(h) 58 #又切換到列表部分 59 main_frame = wd.find_element_by_id(mainFrame) 60 wd.switch_to.frame(main_frame) 61 62 wd.quit()

第五篇 - Selenium突破反爬獲取qq郵件標題