selenium之弹框操作

1,分类

  弹框类型自见解分为四种:

  1,页面弹框

  2,警告提示框(alert)

  3,确认消息框(confirm)

  4,提示消息对话(prompt)

  提示:selenium 提供switch_to_alert()方法定位到 alert/confifirm/prompt对话框。

2,操作

  1,页面弹框

    页面弹框是属于HTML里面的元素,它是由用户在操作页面的时候在本页面弹出的。所以科研直接在页面上定位到

  步骤:

    1,用户操作后,弹出页面弹框

    2,直接定位弹框元素,进行操作

以下是例示代码:

 from selenium import webdriver  #引入库

 #打开谷歌浏览器
driver=webdriver.Chrome()
#打开网页
driver.get('http://www.baidu.com')
#定位百度的登录元素,然后点击操作
driver.find_element_by_css_selector('#u1 > a.s-top-login-btn.c-btn.c-btn-primary.c-btn-mini.lb').click()
#弹框出现后,我们直接定位元素操作就好了
driver.find_element_by_css_selector('#TANGRAM__PSP_11__footerULoginBtn').click()

  2,警告消息框

  警告消息框是必须先关闭了用户才能操作的框,它提供了一个确认按钮,以及警告消息。

  操作代码如下:

from time import sleep
from selenium import webdriver
#引入库 #打开谷歌,网址
driver=webdriver.Chrome()
driver.get('http://119.23.55.123:8084/fsmarket/user.php') #我们定位获取警告框的元素,点击,弹出警告框
driver.find_element_by_css_selector('#cnblogs_post_body > p:nth-child(17)').click() sleep(1) #为了可能因为网络等问题而获取不到弹框,我们添加等待时间 #然后我们获取警告框,赋予变量名
alert=driver.switch_to.alert
#获取消息框文本在控制台打印
print(alert.text) alert.accept() #关闭框操作 接受弹框

 

  3,确认消息框(confirm)

  确认消息框提供是或否操作,用户可以根据选择"确定"按钮和"取消"按钮。与警告消息框不同的是,多了个取消按钮

  操作代码如下:

from time import sleep
from selenium import webdriver
#引入库 #打开谷歌,网址
driver=webdriver.Chrome()
driver.get('http://119.23.55.123:8084/fsmarket/user.php') #我们定位获取消息框的元素,点击,弹出消息框
driver.find_element_by_css_selector('/html/body/div/input[3]').click() sleep(1) #为了可能因为网络等问题而获取不到弹框,我们添加等待时间 #然后我们获取消息框,赋予变量名
alert=driver.switch_to.alert
#获取消息框文本在控制台打印
print(alert.text) alert.accept() #关闭框操作 接受弹框 alert.dismiss() #关闭框操作 取消弹框

  4,提示消息对话(prompt)

  提示消息框提供了一个文本字段,用户可以在此字段输入一个内容来响应对话框提示。该消息框有一个"确定"按

  钮和一个"取消"按钮。选择"确认"会响应对应的提示信息,选择"取消"会关闭对话框。
  操作代码如下:
from time import sleep
from selenium import webdriver
#引入库 #打开谷歌,网址
driver=webdriver.Chrome()
driver.get('file:///C:/Users/hunk/Desktop/alter.html') #我们定位获取对话框的元素,点击,弹出对话框
driver.find_element_by_css_selector('/html/body/div/input[3]').click() sleep(1) #为了可能因为网络等问题而获取不到弹框,我们添加等待时间 #然后我们获取对话框,赋予变量名
alert=driver.switch_to.alert
#获取对话框文本在控制台打印
print(alert.text)
alert.send_keys("我是小白") #弹出框内输入内容
alert.accept() #接受
print (driver.find_element_by_xpath('//*[@id="textSpan"]/font').text) #获取关闭弹窗结果 #获取确 认弹窗结果

    

  

python上selenium的弹框操作的更多相关文章

  1. Selenium之编辑框操作

    编辑框操作: 网页上随处可见的编辑框,有时候编辑框里有默认的提示文字或者当我们需要输入第二次测试数据时,须先用clear()方法清除该元素里的字符串,再输入文本: 那么如何获取输入框已经输入的文本内容 ...

  2. Selenium处理文件上传、弹框

    一.文件上传 上传标签是input时,可以直接使用send_keys(文件path)的方法来进行上传 二.弹框处理 页面操作中,有时会遇到JavaScript生成的alert.confirm以及pro ...

  3. Python+Selenium - Alert弹框

    上面三种弹窗可以在浏览器的控制台做出效果,如下图 上面三种弹窗可以用alert方法处理 示例: #出现弹窗的操作xxxx# 切换al = driver.switch_to.alert# print(a ...

  4. winform版弹框操作

    公共弹框帮助类操作手册 1.说明 封装了对于winform操作的一些提示框,包括数据加载耗时的时候,提示数据正在加载,请稍后的提示窗体,动态提示给用户一些有用的信息.例如网吧里面续费提醒等. 2.操作 ...

  5. Selenium之单选框操作

    单选框操作: 何为单选框?就是永远只能选中一个选项的意思.一般单选框的图标都是呈圆形的.我们通过selenium可直接定位到被选中的选项上,然后用click方法实现点击. 下面附上一段rb.html代 ...

  6. 遇到的一个移动端从下往上过渡的弹框,在Android下过渡动画的优化问题。

    优化之前: /* 分享弹框样式 */ .popUpDiv { width: 100vw; height: 100vh; transition: all 0.5s ease; position: fix ...

  7. Selenium之下拉框操作

    下拉框操作: 一般下拉框适用场景:在新增时有下拉框选项,在二级联动或多级联动有下拉(比如:在选择省市县时的多级联动下拉). 下拉框选择都有select的标签属性,存在两个属性select和option ...

  8. 吴裕雄--天生自然python学习笔记:python用 Selenium 组件实现浏览器操作自动化

    一般情况下,我们都是用手工操作的方式来对浏览器进行各种操作 . 实际上, 只要我们安装一个自动化操作组件, Python 就可以让我们的很多操作实现自动化 . Selenium 组件 在开发网页时,用 ...

  9. 多测师讲解selenium _enter弹框_高级讲师肖sir

    enter # from selenium import webdriver# from time import sleep# drvier=webdriver.Chrome()# url='file ...

随机推荐

  1. VMWare12安装CentOS7操作系统并搭建GitLab环境【1】

    查看了网上这方面的资料,发现都比较复杂,自己到官方网站上查询,并实际动手安装了一下,发现还是比较简单的. 1.VMWare Workstation 12 Professinal安装 2.安装64位Ce ...

  2. 从 0 开始机器学习 - 神经网络反向 BP 算法!

    最近一个月项目好忙,终于挤出时间把这篇 BP 算法基本思想写完了,公式的推导放到下一篇讲吧. 一.神经网络的代价函数 神经网络可以看做是复杂逻辑回归的组合,因此与其类似,我们训练神经网络也要定义代价函 ...

  3. 基于领域驱动设计(DDD)超轻量级快速开发架构(二)动态linq查询的实现方式

    -之动态查询,查询逻辑封装复用 基于领域驱动设计(DDD)超轻量级快速开发架构详细介绍请看 https://www.cnblogs.com/neozhu/p/13174234.html 需求 配合Ea ...

  4. django 报错处理汇总

    运行 manage.py task时 ,makemigrations抛出以下错误, django.db.utils.OperationalError: (1045, "Access deni ...

  5. IDEA解决SVN频繁弹出登录框

    将HTTP请求改成SVN就可以了,或者请项目经理开启SVN中的HTTP请求

  6. postman使用小结(一)

    postman可以用来做接口测试. 下面是使用的基本步骤: 1新建http请求: 2设置请求类型get/post/put/delete...: 3设置请求的url: 4设置请求的Header头部信息, ...

  7. Docker(五)Docker镜像讲解

    Docker镜像讲解 镜像概念 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件 Dock ...

  8. 【转载】npx 真香

    npx 主要提供了一些便捷操作: 调用项目安装的模块 避免全局安装模块 使用不同版本的 node 执行 GitHub 源码 原文地址:http://www.ruanyifeng.com/blog/20 ...

  9. Python实用笔记 (14)函数式编程——匿名函数

    当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外, ...

  10. jQuery动态生成<select>下拉框

    前一阵在项目里需要动态生成下拉框,找了一下用jQuery实现比较方便,这里整理一下. 下文所述方法只是本人在项目中遇到问题的解决方法,场景较为简单,也希望能帮助有需要的朋友 1.动态生成下拉框的两种方 ...