selenium +python 如何得到弹出窗口

捕获或者说定位弹出窗口的关键在于获得弹出窗口的句柄。我还是喜欢通过例子来说明:

#-*-coding=utf-8

from selenium import webdriver

import unittest

class login(unittest.TestCase):

def setUp(self):

self.driver = webdriver.Firefox()

self.driver.implicitly_wait(30)

self.base_url = "http://www.baidu.com"

self.verificationErrors = []

def test_loginpass(self):

driver = self.driver

driver.get(self.base_url)

nowhandle=driver.current_window_handle#在这里得到当前窗口句柄

driver.find_element_by_id("kw").send_keys("selenium")

driver.find_element_by_id("su").click()

driver.find_element_by_xpath("//a[@title=‘selenium 安装‘]").click()

aalhandles=driver.window_handles#获取所有窗口句柄

for handle in aalhandles:#在所有窗口中查找弹出窗口

if handle!=nowhandle:

driver.switch_to_window(handle)#这两步是在弹出窗口中进行的操作,证明我们确实进入了

driver.find_element_by_link_text("新闻").click()

driver.switch_to_window(nowhandle)#返回到主窗口页面

driver.find_element_by_id("kw").clear()#下面三步是返回到主窗口中进行的操作,证明我们确实返回了

driver.find_element_by_id("kw").send_keys("python")

driver.find_element_by_id("su").click()

def tearDown(self):

#self.driver.quit()

self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":

unittest.main()

注释:在python webdriver中

current_window_handle为得到当前窗口函数

window_handles获取所有窗口函数

switch_to_window()进入指定的窗口函数

时间: 2024-10-09 13:12:53

selenium +python 如何得到弹出窗口的相关文章

java selenium (十二) 操作弹出窗口

selenium 中如何处理弹出窗口 阅读目录 原理 在代码里, 通过         Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄,   然后遍历,  使用swithcto.window(newwindow_handle)方法. 就可以定位到新的窗口 测试页面的HTML <html> <head> <title>常见web ui元素操作, 及API使用</ti

Java Selenium (十二) 操作弹出窗口 &amp; 智能等待页面加载完成 &amp; 处理 Iframe 中的元素

一.操作弹出窗口   原理 在代码里, 通过 Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄, 然后遍历, 使用swithcto.window(newwindow_handle)方法. 就可以定位到新的窗口. 测试页面的HTML <html> <head> <title>常见web ui元素操作, 及API使用</title> <script type

[selenium webdriver Java]处理弹出窗口

Selenium WebDriver测试弹出窗口,包括识别弹出窗口,将driver转到新的窗口,在新的串钩中执行而是步骤,然后再转换到最初的窗口. 通过名称(name)识别和处理: Selenium WebDriver允许我们通过name属性或窗口的句柄来识别窗口,然后通过WebDriver.switchTo().window()方法在不同的窗口之间进行切换. window name属性的定义 name 属性可设置或得到窗口的名称,其值为字符串.语法如下: 1 window.name = [na

selenium webdriver学习(六)------------如何得到弹出窗口

在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理了处理了几种方法,详见:http://seleniumcn.cn/read.php?tid=791 .在selenium webdriver中得到新开窗口相对简单的多,它无关新开窗口的id.name等属性.以下面的html为例: [html] view plaincopyprint? <span style="white-space: normal; background-col

jsp网页弹出窗口的多种办法

http://blog.csdn.net/huangfoxjava/article/details/2973033 登录|注册     huangfoxjava的专栏 目录视图 摘要视图 订阅 关于jsp网页弹出窗口[很多种方法......] 分类: JSP2008-09-24 14:22 5799人阅读 评论(0) 收藏 举报 jspjavascript框架html脚本浏览器 各种弹出页面的设计 [1.普通的弹出窗口] 其实代码非常简单: <SCRIPT LANGUAGE=javascript

EPUB弹出窗口式脚注

参考原文:EPUB弹出窗口式脚注 网上搜到一些国学典籍的EPUB版,虽有古人的注解,但正文和注解混排在一起,当我只想迅速读正文的时候比较碍眼.于是研究了一下 EPUB3 中有关脚注(footnote)的规格定义,写了一个 Python 脚本把所有混在正文中的脚注全部改写成了弹出窗口样式,在 iBooks 里测试通过,略记一笔. 什么是EPUB弹出窗口式脚注 弹出式脚注是 EPUB3 推出的,简单的说就是正文中加一个链接锚点,对应一个脚注模块,点击链接的时候,脚注内容会直接以弹出窗口的形式显示出来

PyQt5 笔记(03):弹出窗口大全

本文实现了PyQt5个各种弹出窗口:输入框.消息框.文件对话框.颜色对话框.字体对话框.自定义对话框 其中,为了实现自定义对话框的返回值,使用了信号/槽 本文基于 windows 7 + python 3.4 效果图: 取得弹出窗口的返回值 全部代码: from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt, pyqtSignal, QTimer, QThread # 后三个都是用于第二个窗口 class MyWindow(QWidge

Selenium-&gt;如何得到弹出窗口(五)

在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候. 在selenium webdriver中得到新开窗口相对简单的多,它无关新开窗口的id.name等属性. public static void main(String[] args) { String url = "http://www.wust.edu.cn/default.html"; WebDriver driver = new FirefoxDriver(); driver.

软件测试---弹出窗口

视频地址(第五课时):https://pan.baidu.com/s/1gfLVC2n  alert 弹出窗口 Alert Should Be Present Get Alert Message  confirm 弹出窗口 Choose Cancel On Next Confirmation Choose Ok On Next Confirmation Confirm Action AutoIt Libary