selenium的API提供了Alert类对alert弹出框的处理的方法,涉及到的方法有text,dismiss(),accept()和send_keys(),
在javascript中主要有alert弹出警告框,confirm弹出确认框,prompt弹出输入框。selenium操作alert需要导入Alert的发类,
具体为:from selenium.webdriver.common.alert import Alert
alert警告框的处理
alert是警告框,一般使用在设置某一个功能后,就会弹出警告框来提示用户,如百度搜索设置后,点击保存设置,
就会弹出“已经记录您的使用偏好”,下面我们就实现获取该弹出框的text,并且接受搜索的设置结果,见实现的代
码和输出:


from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.action_chains import ActionChains
import time as t
driver = webdriver.Firefox()
driver.maximize_window()
driver.get("https://www.baidu.com")
driver.implicitly_wait(30)
element = driver.find_element_by_link_text(u'设置')
ActionChains(driver).move_to_element(element).perform()
element = driver.find_element_by_link_text(u'搜索设置').click()
st = driver.find_element_by_id('nr')
Select(st).select_by_index(1)
t.sleep(3)
Select(st).select_by_visible_text(u'每页显示50条')
# 点击保存设置按钮
driver.find_element_by_id('gxszButton').find_element_by_class_name('prefpanelgo').click()
# 获取alert弹出警告框的text
print(driver.switch_to.alert.text)
# 接受警告框
driver.switch_to.alert.accept()
t.sleep(2)
driver.quit()

Alert弹出框处理的更多相关文章

  1. 系统默认的alert弹出框总会带有域名

    最近在开发Hybrid APP时发现用系统默认的alert弹出框总会带有域名,用户体验就比较不好了.想了一种办法来解决就是覆盖alert的方法. (function(){       window.a ...

  2. 清除ios系统alert弹出框的域名

    清除ios系统alert弹出框的域名 <script> window.alert = function(name) { var iframe = document.createElemen ...

  3. 怎么让alert弹出框的内容可以换行?

    在要点击弹出的地方输入这样的代码: alert("文本框中共有字母a的个数为:"+num+"\n"+"他们在字符串的索引为:"+ind) 就 ...

  4. div 模拟alert弹出框

    --------------信息展示弹出框---------------- <style> .over{background-color: rgba(0, 0, 0, 0.7);displ ...

  5. selenium处理alert弹出框

    import time from selenium import webdriver driver =webdriver.Chrome(r"D:\工具包\chromedriver.exe&q ...

  6. 计算alert弹出框的次数

    (function() { var oldAlert = window.alert, count = 0; window.alert = function(a) { count++; oldAlert ...

  7. updatepanel中使用alert弹出框方法

    原文发布时间为:2009-05-17 -- 来源于本人的百度文章 [由搬家工具导入]         ScriptManager.RegisterStartupScript(this.UpdatePa ...

  8. alert弹出框 弹出窗口 ----sweetAlert

    推荐一款好用的alert,下面地址是demo,很直观的看到效果,wap可以使用 http://www.dglives.com/demo/sweetalert-master/example/   < ...

  9. js中的alert弹出框文字乱码解决方案

    使用如下代码即可: echo '<html>'; echo '<head><meta http-equiv="Content-Type" conten ...

随机推荐

  1. Codeforces 898 贪心关闭最少闹钟 优先队列最少操作构造N/2squares 讨论情况哈希数字串分割a+b=c

    A /* Huyyt */ #include <bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define mkp(a,b) ...

  2. for 循环,range()函数和导入模块

    (一)for语句构成: for i in range(5): print('My name is') for i in range(5): print('Jimmy Five Times ('+str ...

  3. Linux系统中的硬件问题如何排查?(5)

    Linux系统中的硬件问题如何排查?(5) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...

  4. pyqt5--动画

    动画类别继承结构图 天子骄龙

  5. ESP8266-Station模式--我想连上谁

    Station模式又叫做站点工作模式,类似于无线终端 处于Station模式下的ESP8266,可以连接到AP.通过Station(简称为“STA”)模式,ESP8266作为客户端连接到路由的wifi ...

  6. 删除操作——str.subString(0,str.length()-1)

    subString是String的一个方法,格式为: public String substring(int beginIndex, int endIndex)  返回一个新字符串,它是此字符串的一个 ...

  7. cpp 实现简易String类

    需求 实现一个String类 自己写的String headers/String.h #ifndef __MYSTRING__ #define __MYSTRING__ #include <st ...

  8. 文件的读写过程open read write close

    在python中,读写文件有3个步骤: 调用open()函数,返回一个File对象. 调用File对象的read()或write()方法. 调用File对象的close()方法,关闭该文件. 在读取或 ...

  9. SQL中的schema()函数可替代database()

  10. navicat_premium_x64最新版安装说明

    先到官网下载最新的navicat http://www.navicat.com.cn/ 下载破解文件 链接: https://pan.baidu.com/s/1hhsh5Tfe4c_lQeyX8D-C ...