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

# -*- 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()

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

时间: 2024-10-01 22:16:52

python - web自动化测试 - 元素操作 - 窗口切换的相关文章

python+selenium五:多窗口切换与获取句柄

from selenium import webdriverfrom selenium.webdriver.common.by import Byimport time driver = webdriver.Firefox()driver.get("http://bj.ganji.com/")time.sleep(3) # 1.获取句柄 # 获取当前的handle名字handle = driver.current_window_handleprint("获取到当前的handl

web自动化6-selenium多窗口切换及JS对话框处理

1.    多窗口切换 browser.window_handles                 显示所有句柄 browser.current_window_handle 显示当前句柄 browser.switch_to_window(browser.window_handles[1])  切换句柄 2.    js对话框处理 alter = browser.find_element_by_xpath('//*[@id="topguideloginform"]/div[4]/but

java selenium (九) 常见web UI 元素操作 及API使用

链接(link) <div> <p>链接 link</p> <a href="www.cnblogs.com/tankxiao">小坦克</a> </div> 链接的操作 // 找到链接元素 WebElement link1 = driver.findElement(By.linkText("小坦克")); WebElement link11 = driver.findElement(By.pa

selenium +python web自动化测试环境搭建

基础框架搭建 1.安装python 2.安装selenium cmd输入pip install selenium 问题:在python中输入from selenium import webdriver,找不到selenium 解决方案:python中file-settings-project interpreter->点击右侧pip->查找selenium->install package 小练习: 谷歌自动打开百度,输入"建设性问题",搜索. from seleni

【Web自动化测试——代码篇四】常用方法——常见元素操作

浏览器这个大框架我们都能控制,区区页面小元素又能奈我们何!!!之前的[Web自动化测试--代码篇二]条条大路找元素 已经讲述了许多获取元素的方法,在此基础上我们来认识几个元素最常见的相关操作?(ˉ﹃ˉ?)   Java Python Ruby 输入内容 sendKeys(*value) send_keys(*value) send_keys(*value) 单击元素 click() click() click 清除文本 clear() clear() clear 提交表单 submit() su

web自动化测试—selenium游览器多窗口操作

# coding=utf-8'''web游览器多窗口操作: 获取当前窗口句柄 current_window_handle 获取所有窗口句柄 window_handles 切换窗口 switch_to_window 检查元素操作:是否可见 is_displayed() 是否可编辑 is_enabled() 是否已选中 is_selected() 提交表单 submit() --很少用,一般用send_keys()'''from selenium import webdriver dr=webdri

selenium + python自动化测试unittest框架学习(三)webdriver元素操作(二)

上一篇是元素的定位,那么定位元素的目的就是对元素进行操作,例如写入文本,点击按钮,拖动等等的操作 (1)简单元素操作 简单元素操作 find_element_by_id("kw").clear() #文本框清空 find_element_by_id("kw").send_keys("selenium") #文本框输入 find_element_by_id("button").click() #点击按钮操作 (2)webElem

Web自动化测试 四 ----- python selenium 八大元素定位

python selenium 八大元素定位方法 前提条件:先要引入webdriver模块,创建一个Chrom浏览器对象,以及打开一个网页(以百度为例). 1 from selenium import webdriver 2 3 driver = webdriver.Chrome() 4 5 driver.get('http://www.baidu.com') 一.ID定位 driver.find_element_by_id('kw') 备注: 此方法相当于JS中的getElementById(

Selenium弹出新页面无法定位元素问题(Unable to locate element)--多窗口切换

最近学习到多窗口切换,在页面操作过程中有时点击某个链接会弹出新的窗口,这时需要先切换到新窗口才能对其进行操作.Webdriver提供了switch_to.window( ) 方法实现在不同窗口中切换. 查阅相关资料,得到两种方法来定位到当前页面: 方法一: browser.switch_to_window(browser.window_handles[1]) 方法二:直接定位当前最新弹出的窗口 for handle in browser.window_handles:#方法二,始终获得当前最后的