python selenium web自动化测试

(11)selenium 实战QQ邮箱登陆

2019-04-12  本文已影响0人  JP0001

实现QQ网站登陆之后,等等页面加载完毕之后,截图
查看网页登陆界面是在另外发frame里面,所以需要切换到该iframe之后在操作
代码如下:
如果出现验证码提示,建议可以使用其他邮箱做测试。

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

# 最大化网站
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 元素出现
    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()


上一篇 下一篇

猜你喜欢

热点阅读