1. 程式人生 > >python - web自動化測試 - 元素操作 - 窗口切換

python - web自動化測試 - 元素操作 - 窗口切換

port Coding and miss 元素 觸發 cep import 列表

# -*- 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自動化測試 - 元素操作 - 窗口切換