码迷,mamicode.com
首页 > 编程语言 > 详细

python - web自动化测试 - 元素操作 - 窗口切换

时间:2019-01-19 13:19:34      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:edit   弹出框   common   testing   from   mon   windows   handle   time   

# -*- coding:utf-8 -*-

‘‘‘
@project: web学习
@author: Jimmy
@file: 元素操作-切换.py
@ide: PyCharm Community Edition
@time: 2019-01-19 10:43
@blog: https://www.cnblogs.com/gotesting/

‘‘‘


‘‘‘
windows窗口切换:切换到要操作的窗口

    有多个窗口
    1. 触发新窗口的出现
    2. 得知道新窗口是谁  -- 依据窗口的window_handle来识别窗口
    3. 得到窗口的window_handle -- driver.window_handles(当前打开的所有窗口的句柄)
                                            A. 得到的是一个有序列表
                                            B. 新窗口: -1
    4. 切换:driver.switch_to.window(要切换的窗口的句柄)


‘‘‘

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import  expected_conditions as EC
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get(http://www.baidu.com)
driver.find_element_by_id(kw).send_keys(少年阿玉 博客园)
driver.find_element_by_id(su).click()

wins = driver.window_handles
time.sleep(3)

# 点击到新窗口
driver.find_element_by_xpath("//*[@id=‘1‘]//h3//a").click()

# 判断新窗口是否已打开
WebDriverWait(driver,5,1).until(EC.new_window_is_opened(wins))

# 切换窗口
# 1. 获取所有窗口
wins1 = driver.window_handles
# 2. 切换到最新窗口
driver.switch_to.window(wins1[-1])

‘‘‘
 alert弹出框操作

(1)使用switch_to方法先切换到浏览器弹出框
    driver.switch_to.alert
(2)Alert类提供了一系列的操作方法
    dismiss(): 否
    accept(): 是
    text(): 获取弹出框里的文本内容
    Send_keys(): 在弹出框里输入文本
‘‘‘
alert = WebDriverWait(driver,10,1).until(EC.alert_is_present())
alert.accept()

 

python - web自动化测试 - 元素操作 - 窗口切换

标签:edit   弹出框   common   testing   from   mon   windows   handle   time   

原文地址:https://www.cnblogs.com/gotesting/p/10291214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!