實現(xiàn)QQ網(wǎng)站登陸之后悼做,等等頁面加載完畢之后疯特,截圖
查看網(wǎng)頁登陸界面是在另外發(fā)frame里面,所以需要切換到該iframe之后在操作
代碼如下:
如果出現(xiàn)驗證碼提示肛走,建議可以使用其他郵箱做測試辙芍。
from selenium import webdriver
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("https://mail.qq.com/cgi-bin/loginpage")
# 最大化網(wǎng)站
driver.minimize_window()
# 切換到登陸界面frame
login_frame=driver.find_element_by_id("login_frame")
driver.switch_to.frame(login_frame)
# 賬號和密碼元素的classname是一樣的
all_elements =driver.find_elements_by_class_name("inputstyle")
all_elements[0].click()
all_elements[0].send_keys("這里輸入你的賬號")
all_elements[1].click()
all_elements[1].send_keys("這里輸入你的密碼")
# 勾選下次自動登陸
driver.find_element_by_id('p_low_login_enable').click()
# 點擊登陸
driver.find_element_by_id('login_button').click()
# 截圖保存
driver.get_screenshot_as_file("D:\\book\selenium.png")
# 等待登錄之后頁面的QQ郵箱圖標加載出來
try:
# 最多等待10s,等ID 元素出現(xiàn)
WebDriverWait(driver,10).until(EC.presence_of_element_located(By.CLASS_NAME,"maillogo"))
except:
# 如果異常就退出
driver.quit()
# 截圖保存
driver.get_screenshot_as_file("D:\\book\selenium1.png")
# 退出瀏覽器
driver.quit()