python自动化测试selenium核心技术处理弹框

页面上的弹框一般有三种:

(1)alert:用来提示

(2)confirm:用来确认

(2)prompt:输入内容

示例网站:http://sahitest.com/demo

示例场景:打开Sahi Tests页面,

(1)点击“Alert Test”页面,鼠标点击页面中“Click For Alert”按钮,弹出警告提示框,判断页面是否存在alert,如存在则切换到警告框,并获取警告文本信息,之后点警告框中的确定按钮。

(2)点击“Confirm Page”页面,鼠标点击页面中“Click For Confirm”按钮,弹出确认提示框,判断页面是否存在alert,如存在则切换到警告框,并获取警告文本信息,之后点警告框中的“确定”或“取消”按钮。

(3)点击“Prompt Page”页面,鼠标点击页面中“Click For Prompt”按钮,弹出确认提示输入框,判断页面是否存在alert,如存在则切换到警告框,获取警告文本信息或输入文本内容,之后点警告框中的“确定”或“取消”按钮。

完整示例脚本:

from selenium import webdriver
from time import sleep
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
class TestWaitCondition(object):
    def setup(self):
        self.driver = webdriver.Chrome()
        self.driver.get(https://sahitest.com/demo/)
    def test_alert(self):
        #点页面上的Alert Test
        self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[3]/a[1]").click()
        #鼠标点击页面中“Click For Alert”按钮
        self.driver.find_element_by_name("b1").click()
         wait = WebDriverWait(self.driver,2)
        #等待并判断警告框是否存在
        wait.until(ec.alert_is_present())
        #切换到alert页面
        alert = self.driver.switch_to.alert
        #获取并打印警告框中文本
        print(alert.text)
        #点弹出警告框中的确定
        alert.accept()
        self.driver.quit()
    def test_confirm(self):
        #点击Confirm Page链接打开页面
        self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[3]/a[2]").click()
        #点击Click For Confirm按钮,弹出确认提示框
        self.driver.find_element_by_name("b1").click()
        #切换到警告框
        confirm=self.driver.switch_to.alert
        #获取警告框提示信息并打印
        print(confirm.text)
        #点确定
        # confirm.accept()
        sleep(2)
        #点取消
        confirm.dismiss()
        sleep(2)
        self.driver.quit()
    def test_prompt(self):
        # 点击Prompt Page链接打开页面
        self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[3]/a[3]").click()
        #点击Click For Prompt按钮,弹出确认提示框
        self.driver.find_element_by_name("b1").click()
        sleep(2)
        #切换到提示框
        prompt = self.driver.switch_to.alert
        #获取提示框中文本并打印
        print(prompt.text)
        #提示框中输入文本test prompt
        prompt.send_keys("test prompt")
        # 点确定
        prompt.accept()
        sleep(2)
        #点取消
        # prompt.dismiss()
        self.driver.quit()

以上:极客时间课程:selenium自动化测试学习总结。

以上就是python自动化测试selenium核心技术处理弹框的详细内容,更多关于selenium核心技术处理弹框的资料请关注我们其它相关文章!

(0)

相关推荐

  • python上selenium的弹框操作实现

    selenium之弹框操作 1,分类 弹框类型自见解分为四种: 1,页面弹框 2,警告提示框(alert) 3,确认消息框(confirm) 4,提示消息对话(prompt) 提示: selenium 提供switch_to_alert()方法定位到 alert/confifirm/prompt对话框. 2,操作 1,页面弹框 页面弹框是属于HTML里面的元素,它是由用户在操作页面的时候在本页面弹出的.所以科研直接在页面上定位到 步骤: 1,用户操作后,弹出页面弹框 2,直接定位弹框元素,进行操

  • Selenium alert 弹窗处理的示例代码

    selenium提供switch_to_alert方法:捕获弹出对话框(可以定位alert.confirm.prompt对话框) switch_to_alert()    --定位弹出对话框 text()               --获取对话框文本值 accept()             --相当于点击"确认" dismiss()            --相当于点击"取消" send_keys()          --输入值(alert和confirm没

  • Python爬虫之Selenium警告框(弹窗)处理

    JavaScript 有三种弹窗 Alert (只有确定按钮), Confirmation (确定,取消等按钮), Prompt (有输入对话框),而且弹出的窗口是不能通过前端工具对其进行定位的,这个时候就可以通过switch_to.alert方法来定位这个弹窗,并进行一系列的操作. 本章中用到的关键方法如下: switch_to.alert:定位到警告框 text:获取警告框中的文字信息 accept():接受现有警告框(相当于确认) dismiss():解散现有警告框(相当于取消) send

  • python selenium 弹出框处理的实现

    弹出框有两种:页面弹出框(可定位元素能操作).Windows弹出框(不能直接定位) 一.页面弹出框 等待弹出框出现之后,定位弹出框,操作其中元素 如: driver = webdriver.Chrome() driver.get("https://www.baidu.com") driver.maximize_window() #点击百度登录按钮 driver.find_element_by_xpath('//*[@id="u1"]//a[@name="t

  • python自动化测试selenium核心技术处理弹框

    页面上的弹框一般有三种: (1)alert:用来提示 (2)confirm:用来确认 (2)prompt:输入内容 示例网站:http://sahitest.com/demo 示例场景:打开Sahi Tests页面, (1)点击"Alert Test"页面,鼠标点击页面中"Click For Alert"按钮,弹出警告提示框,判断页面是否存在alert,如存在则切换到警告框,并获取警告文本信息,之后点警告框中的确定按钮. (2)点击"Confirm Pag

  • python自动化测试selenium核心技术等待条件教程

    Selenium中的鼠标和键盘事件被封装在ActionChains类中,使用方法: ActionChains(driver).click(btn).perform() ActionChains中常用方法: 示例网站:http://sahitest.com/demo 示例场景:打开Sahi Tests页面,点击"Alert Test"页面,鼠标点击页面中"Click For Alert"按钮,弹出警告提示框,判断页面是否存在alert,如存在则切换到警告框,并获取警告

  • python自动化测试selenium核心技术三种等待方式详解

    目录 1 使用python自带模块time的sleep方式 2 隐式等待(implicitly_wait) 3 显示等待(WebDriverWait) UI自动化测试过程中,可能会出现因测试环境不稳定.网络慢等情况,如果不做任何处理的话,会出现无法定位到特定元素而报错,导致自动化测试无法顺利执行. selenium官网手册:Waits | Selenium slenium自动化测试中,主要涉及三种等待方式: 1 使用python自带模块time的sleep方式 缺点:即使网络条件较好时,依旧按照

  • python自动化测试selenium执行js脚本实现示例

    WebDriver有2个方法执行Java Script脚本. (1)同步执行:execute_script (2)异步执行:execute_async_script from selenium import webdriver from time import sleep class TestScriptss(object): def setup(self): self.driver = webdriver.Chrome() self.driver.get(http://www.baidu.co

  • python自动化测试selenium操作下拉列表实现

    处理下拉列表需要使用selenium中的工具类Select,常用方法如下: 示例网站:http://sahitest.com/demo 示例场景:打开Sahi Tests页面, (1)点击"Select Test"页面,鼠标点击页面中第一个下拉列表. 示例脚本: from selenium import webdriver from time import sleep from selenium.webdriver.support.select import Select class

  • python自动化测试selenium操作checkbox和radiobox技术

    form表单中经常涉及复选框(checkbox)和单选框(radiobox),如用户的爱好跑步.游泳.跳舞可以使用复选框,性别男.女可以使用单选框. (1)checkbox选择或反选:使用click()方法 (2)radiobox有相同的名称,多个值,可先通过名称获得,再通过值判断,选择使用click()方法. 示例页面: 页面代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&

  • 解决python执行不输出系统命令弹框的问题

    最近做一个的GUI,因为调用了os模块里的system方法,使用pyinstaller打包的时候选择不输出系统命令弹框,程序无法运行,要求要有系统命令框.在网上找到一个解决办法.使用subprocess.run()方法. 这里有一个简单的例子: from time import sleep from subprocess import run for i in range(10): sleep(1) run("tree", shell=True) # 因为没有弹框,这部分用来验证程序是

  • python自动化测试selenium定位frame及iframe示例

    frame标签有frameset.frame.iframe三种,frameset和其它普通标签没有区别,不会影响正常定位,而frame与iframe对selenium定位而言是一样的. Selenium有以下方法对frame进行操作. 示例网站:http://sahitest.com/demo/framesTest.htm 示例脚本: from selenium import webdriver from time import sleep class TestFrame(object): de

  • python自动化测试selenium屏幕截图示例

    WebDriver内置了测试中捕获屏幕并保存的方法. 示例脚本: (1)save_screenshot(filename):保存屏幕截图 from selenium import webdriver from time import sleep,strftime,localtime,time import os class TestScreenShot(object): def setup(self): self.driver = webdriver.Chrome() self.driver.g

  • Python自动化测试selenium指定截图文件名方法

    目录 前言: 一.python中时间日期格式化符号 二.使用步骤 1.导入time模块,webdriver类 2.实际代码操作 总结: 前言: Selenium 支持 Web 浏览器的自动化,它提供一套测试函数,用于支持 Web 自动化测试.函数非常灵活,能够完成界面元素定位.窗口跳转.结果比较等功能.支持多种浏览器.多种编程语言(Java.C#.Python.Ruby.PHP 等).支持多种操作系统(Windows.Linux.IOS.Android 等).开源免费. 它主要由三个工具组成:W

随机推荐