Selenium WebDriver- 操作JavaScript的prompt弹窗(使用率低)
#encoding=utf-8
import unittest
import time
from selenium import webdriver
from selenium.webdriver import ActionChains class VisitSogouByIE(unittest.TestCase): def setUp(self):
#启动IE浏览器
#self.driver = webdriver.Firefox(executable_path = "e:\\geckodriver")
self.driver = webdriver.Ie(executable_path = "e:\\IEDriverServer") def testHandlePrompt(self):
url = "http://127.0.0.1/test_prompt.html"
# 访问自定义网页
self.driver.get(url)
# 使用id定位方式,找到被测试网页上唯一按钮元素
element = self.driver.find_element_by_id("button")
element.click()
time.sleep(2)
# 单击按钮元素,弹出一个prompt提示框,
# 上面将显示“这是一个prompt弹出框”、输入框、
# “确定”按钮和“取消”按钮
# 使用driver.switch_to_alert()方法获取Alert对象
alert = self.driver.switch_to.alert
# 使用alert.text方法获取prompt框上面的文字,
# 并断言文字内容是否和“这是一个 prompt 弹出框”一致
self.assertEqual(u"这是一个 prompt 弹出框", alert.text)
time.sleep(1)
# 调用alert.send_keys()方法,在prompt窗体的输入框中输入
# “光荣之路:要想改变命运,必须每天学习2小时!”
alert.send_keys(u"光荣之路:要想改变命运,必须每天学习2小时!")
time.sleep(1)
# 使用alert对象的accept方法,
# 点击prompt框的“确定”按钮,关闭prompt框
alert.accept()
# 使用alert对象的dismiss方法,单击prompt框上的“取消”按钮,关闭prompt框
# 取消下面一行代码的注释,就会模拟单击prompt框上的“取消”按钮
# alert.dismiss() def tearDown(self):
# 退出IE浏览器
self.driver.quit() unittest.main()
Selenium WebDriver- 操作JavaScript的prompt弹窗(使用率低)的更多相关文章
- Selenium Webdriver——操作隐藏的元素(二)display属性
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框, ...
- Selenium Webdriver——操作隐藏的元素
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框, ...
- Selenium Webdriver——操作隐藏的元素display属性
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框, ...
- 转:selenium webdriver 执行javascript代码
在用selenium webdriver 编写web页面的自动化测试代码时,可能需要执行一些javascript代码,selenium本身就支持执行js,我们在代码中import org.openqa ...
- Selenium Webdriver——操作隐藏的元素(三)switchTo().frame()
在web 应用中经常会遇到frame 嵌套页面的应用,页WebDriver 每次只能在一个页面上识别元素,对于frame 嵌套内的页面上的元素,直接定位是定位是定位不到的.这个时候就需要通过switc ...
- selenium webdriver ——执行javascript代码
在代码中import org.openqa.selenium.JavascriptExecutor;就可以使用executeScript.executeAsyncScript这两个方法了 execut ...
- selenium webdriver操作各浏览器
描述 本文主要是针对Chrome 62 , firefox57 ,和IE11 三个版本的操作.相关的driver .可点击以下链接.所有的driver 建议放在浏览器的目录下,本文中所有的driver ...
- Selenium webdriver 操作日历控件
一般的日期控件都是input标签下弹出来的,如果使用webdriver 去设置日期, 1. 定位到该input 2. 使用sendKeys 方法 比如: 但是,有的日期控件是readonly的 比如1 ...
- Selenium webdriver 操作chrome 浏览器
Step1: 下载chromedriver. 下载路径: http://chromedriver.storage.googleapis.com/index.html 选择一个合适的下载即可.我下载的是 ...
随机推荐
- Ionic 2 中添加图表
有问题请加入马画藤群:181596813,也强烈欢迎各类建议和需求:Ionic 2 实例开发 今日更新新增章节——Ionic 2 中添加图表: Chart.js是一个在HTML5的<canvas ...
- django之母版的继承
模板继承示例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- centos7使用yum安装不了ffmpeg
[root@localhost]# yum install ffmpeg Loaded plugins: fastestmirror Loading mirror speeds from cached ...
- C++拾遗(六)——复制控制
年前忙了几天,到现在才算是有空休息下来.先祝大家新年快乐,心想事成:)我也会发笑脸o.o 这篇博文主要介绍定义一个类型的对象时的复制控制方式,这部分内容之前有一定的了解但又浅尝辄止,始终感觉没能找到要 ...
- MYSQL内置函数总结
时间转换为字符串: SELECT date_format(Date, '%Y-%m-%d %H:%i:%s' ) AS TimeFROMtable o convert函数转换为字符串的时候不存在类型为 ...
- Vue-Quill-Editor 修改配置,和图片上传
1.富文本编辑器中的图片上传是将图片转为base64格式的,如果需要上传图片到自己的服务器,需要修改配置. 创建一个quill-config文件 /*富文本编辑图片上传配置*/ /*富文本编辑图片上传 ...
- webpack4 + vue多页面项目精细构建思路
#构建思路 虽然当前前端项目多以单页面为主,但多页面也并非一无是处,在一些情况下也是有用武之地的,比如: 项目庞大,各个业务模块需要解耦 SEO更容易优化 没有复杂的状态管理问题 可以实现页面单独上线 ...
- window.addEventListener介绍说明
原型 public override function addEventListener(type:String, listener:Function, useCapture:Boolean = fa ...
- sphinx增量索引使用
sphinx在使用过程中如果表的数据量很大,新增加的内容在sphinx索引没有重建之前都是搜索不到的. 这时可以通过建立sphinx增量索引,通过定时更新增量索引,合并主索引的方式,来实现伪实时更新. ...
- $GLOBALS['HTTP_RAW_POST_DATA']与$_POST的区别
$HTTP_RAW_POST_DATA The RAW / uninterpreted HTTP POst information can be accessed with: $GLOBALS ...