python上selenium的弹框操作实现

所属分类: 脚本专栏 / python 阅读数: 1843
收藏 0 赞 0 分享

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) #获取关闭弹窗结果 #获取确 认弹窗结果
更多精彩内容其他人还在看

Python3按一定数据位数格式处理bin文件的方法

今天小编就为大家分享一篇Python3按一定数据位数格式处理bin文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

对python pandas读取剪贴板内容的方法详解

今天小编就为大家分享一篇对python pandas读取剪贴板内容的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Python中extend和append的区别讲解

今天小编就为大家分享一篇关于Python中extend和append的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

python安装pywin32clipboard的操作方法

今天小编就为大家分享一篇python安装pywin32clipboard的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

几行Python代码爬取3000+上市公司的信息

今天小编就为大家分享一篇关于几行Python代码爬取3000+上市公司的信息,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

Python实现查找二叉搜索树第k大的节点功能示例

这篇文章主要介绍了Python实现查找二叉搜索树第k大的节点功能,结合实例形式分析了Python二叉搜索树的定义、查找、遍历等相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Python微医挂号网医生数据抓取

今天小编就为大家分享一篇关于Python微医挂号网医生数据抓取,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

python+pyqt5实现KFC点餐收银系统

这篇文章主要为大家详细介绍了python+pyqt5实现KFC点餐收银系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

python用opencv批量截取图像指定区域的方法

今天小编就为大家分享一篇python用opencv批量截取图像指定区域的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Python并发:多线程与多进程的详解

今天小编就为大家分享一篇关于Python并发:多线程与多进程的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享
查看更多