博客
关于我
selenium 弹框处理机制
阅读量:754 次
发布时间:2019-03-23

本文共 1361 字,大约阅读时间需要 4 分钟。

警告框操作指南

在页面操作中,常常会遇到如alert、confirm、prompt等警告框。可以利用Selenium的switch_to.alert()方法来定位这些弹框,并进行相应操作。以下是常用方法详情:

  • switch_to.alert():用于定位当前页面上的警告框。
  • text:获取警告框中的文字信息。
  • accept():接受现有警告框(如点击“确定”)。
  • dismiss():关闭当前警告框(如点击“取消”)。
  • send_keys("警告内容"):向警告框中输入指定文本。
  • 这些方法为用户提供了对警告框操作的灵活控制,能够满足日常开发需求。

    操作示例

    from selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.common.by import Byclass TestAlert:    def setup(self):        self.driver = webdriver.Chrome()        self.driver.implicitly_wait(3)        self.driver.maximize_window()        def test_alert(self):        # 打开目标网页        self.driver.get("https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable")        # 切换到弹框所在的框架        self.driver.switch_to.frame("iframeResult")        # 定位拖拽元素        draggable = self.driver.find_element(By.ID, 'draggable')        droppable = self.driver.find_element(By.ID, 'droppable')        # 拖拽操作        action = ActionChains(self.driver)        action.click_and_hold(draggable).move_to_element(droppable).release().perform()        # 等待弹框出现        sleep(3)        # 接受警告框        self.driver.switch_to.alert.accept()        # 切回默认内容框架        self.driver.switch_to.default_content()        # 点击提交按钮        self.driver.find_element_by_id("submitBTN").click()

    以上代码演示了如何通过Selenium处理页面中的警告框。操作流程包括:打开网页、定位元素、执行拖拽操作、接受警告框、最后点击提交按钮。整个流程简洁明了,便于理解和参考。

    转载地址:http://esczk.baihongyu.com/

    你可能感兴趣的文章
    MySQL执行计划【explain】,看这一篇就够啦!
    查看>>
    Mysql执行计划字段解释
    查看>>
    mysql执行计划怎么看
    查看>>
    MySQL执行计划解读
    查看>>
    mysql执行顺序与索引算法
    查看>>
    mysql批量update优化_Mysql中,21个写SQL的好习惯,你值得拥有呀
    查看>>
    mysql批量update操作时出现锁表
    查看>>
    MYSQL批量UPDATE的两种方式
    查看>>
    mysql批量修改字段名(列名)
    查看>>
    MySQL批量插入数据遇到错误1213的解决方法
    查看>>
    mysql技能梳理
    查看>>
    MySQL报Got an error reading communication packets错
    查看>>
    Mysql报错Can‘t create/write to file ‘/tmp/#sql_3a8_0.MYD‘ (Errcode: 28 - No space left on device)
    查看>>
    MySql报错Deadlock found when trying to get lock; try restarting transaction 的问题解决
    查看>>
    MySQL报错ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘
    查看>>
    Mysql报错Packet for query is too large问题解决
    查看>>
    mysql报错级别_更改MySQL日志错误级别记录非法登陆(Access denied)
    查看>>
    Mysql报错:too many connections
    查看>>
    MySQL报错:无法启动MySQL服务
    查看>>
    mysql授权用户,创建用户名密码,授权单个数据库,授权多个数据库
    查看>>