selenium 多窗口操作

代码如下:

#conding=utf-8
"""
@Author :   rechin
@Language: python

"""

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

driver = webdriver.Chrome(‘../tools/mac/chromedriver‘)
driver.get("https://www.baidu.com")

# 获取当前窗口,方便后面跳转回来
search_windows = driver.current_window_handle
# 先点击登录,再在弹框中点击立即注册,打开注册页面
driver.find_element_by_link_text(‘登录‘).click()

element = WebDriverWait(driver, 5, 0.5).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, ‘注册‘)))
element.click()
# driver.find_element_by_partial_link_text(‘注册‘).click()

# 获取所有窗口具柄
all_handels = driver.window_handles
print(all_handels.__len__())

# 进入到立即注册到窗口
for handle in all_handels:
    if handle != search_windows:
        driver.switch_to_window(handle)
        if(driver.title != ‘注册百度帐号‘):
            print(‘切换注册窗口错误 ‘)

# 进入到初始搜索到窗口
for handle in all_handels:
    if handle == search_windows:
        driver.switch_to_window(handle)
        if(driver.title != ‘百度一下,你就知道‘):
            print(‘切换搜索窗口错误 ‘)

driver.quit()

操作如下:

原文地址:https://www.cnblogs.com/rechin/p/9642245.html

时间: 2024-10-29 04:26:34

selenium 多窗口操作的相关文章

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 webdriver窗口切换

selenium webdriver窗口切换,有时候在做自动化的时候需要打开很多很多的页面, 当在操作不同的页面的时候需要切换窗口,下面是如何切换到前后页面窗口的操作: package test20161206; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; im

selenium 浏览器基础操作(Python)

想要开始测试,首先要清楚测试什么浏览器.如何为浏览器安装驱动,前面已经聊过. 其次要清楚如何打开浏览器,这一点,在前面的代码中,也体现过,但是并未深究.下面就来聊一聊对浏览器操作的那些事儿. from selenium import webdriver from time import sleep #打开浏览器 driver = webdriver.Firefox() #打开网页 driver.get("https://www.baidu.com/") #设置当前浏览器宽高为200,3

selenium 常见元素操作:三大等待

selenium 常见元素操作 三大等待 三大切换(iframe,window,alert) 下拉列表 鼠标和键盘 js+ dom应用() 上传操作 强制等待:time.sleep()        (译:私立破) 必须等待固定时间后才可以往下运行 from selenium import webdriver import time # 强制等待需要导入time,使用其中的sleep方法 # 强制等待 sleep(译:私立破) # 打开谷歌浏览器,建立会话.启动Chromedriver.exe

uCGUI窗口操作点滴记录

一.窗口操作的要点 0.调试时观察的全局变量WM__NumWindows.WM__NumInvalidWindows.WM__FirstWin.NextDrawWin. 1. 创建一个窗口的时候,会给此窗口发送“创建”消息,从而执行它的回到函数:如果创建窗口的状态标志为“可视(WM_CF_SHOW)”,那么在执行GUI_Exec函数时会对窗口进行重绘.如果创建窗口的标志带有WM_CF_ACTIVATE,那么这个窗口在创建的时候也会被激活,否则不激活.2. WM_SendMessage()发送消息

window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口

window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口 项目中经常遇到一个业务逻辑:在A窗口中打开B窗口,在B窗口中操作完以后关闭B窗口,同时自动刷新A窗口(或局部更新A窗口)(或将数据传回A窗口) 以下是从实际项目中截取出来和window.open()方法相关的代码,业务逻辑如下: 1. 点击父窗口的div标签(id="addMatchSchedule"),出发点击事件,打开子窗口: 2. 点击子窗口的button按钮,触发点击时间,即调用addSchduleI

js子窗口操作父窗口的标签

======================================父窗体 <input id="aaaa" type="button"/> function upfile()         {                         resultValue = window.showModelessDialog("ceshi.aspx?file=DownFile", window, "dialogWidt

Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)

//Qt主窗口没有最小化,最大化按钮且最大化显示  int main(int argc, char *argv[]) { QApplication a(argc, argv); TestQtForWinCE w; w.setWindowFlags(w.windowFlags()& ~Qt::WindowMaximizeButtonHint& ~Qt::WindowMinimizeButtonHint); w.showMaximized(); return a.exec(); } 这里的&q

CKFinder 弹出窗口操作并设置回调函数

CKFinder 弹出窗口操作并设置回调函数 官方例子参考CKFinderJava-2.4.1/ckfinder/_samples/popup.html 写一个与EXT集成的小例子 Ext.define("MyButton", { extend : "Ext.Button", text : "ckfinder", initComponent : function() { var me = this; Ext.apply(me, { handler