python上selenium的弹框操作

发表于:2020-7-24 11:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:测试轩    来源:博客园

  selenium之弹框操作
  1.分类
  弹框类型自见解分为四种:
  1,页面弹框
  2,警告提示框(alert)
  3,确认消息框(confirm)
  4,提示消息对话(prompt)
  提示:selenium 提供switch_to_alert()方法定位到 alert/confifirm/prompt对话框。
  2.操作
  1,页面弹框
  页面弹框是属于HTML里面的元素,它是由用户在操作页面的时候在本页面弹出的。所以科研直接在页面上定位到
  步骤:
  1,用户操作后,弹出页面弹框
  2,直接定位弹框元素,进行操作
  以下是例示代码:
   1 from selenium import webdriver  #引入库
  2
  3
  4 #打开谷歌浏览器
  5 driver=webdriver.Chrome()
  6 #打开网页
  7 driver.get('http://www.baidu.com')
  8 #定位百度的登录元素,然后点击操作
  9 driver.find_element_by_css_selector('#u1 > a.s-top-login-btn.c-btn.c-btn-primary.c-btn-mini.lb').click()
  10 #弹框出现后,我们直接定位元素操作就好了
  11 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) #获取关闭弹窗结果 #获取确 认弹窗结果

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号