• python自动化测试selenium(三)下拉选择框、警告框处理、页面截图


    一、下拉框
    selenium 提供
    1、Select提供了三种选择方法:
    select_by_index(index) ——通过选项的顺序,第一个为 0
    select_by_value(value) ——通过value属性
    select_by_visible_text(text) ——通过选项可见文本

    2、Select提供了四种方法取消选择:

    deselect_by_index(index)
    deselect_by_value(value)
    deselect_by_visible_text(text)
    deselect_all()
    
    • 1
    • 2
    • 3
    • 4

    3、Select提供了三个属性方法给我们必要的信息:

    options ——提供所有的选项的列表,其中都是选项的WebElement元素
    all_selected_options ——提供所有被选中的选项的列表,其中也均为选项的WebElement元素
    first_selected_option ——提供第一个被选中的选项,也是下拉框的默认值
    
    • 1
    • 2
    • 3
    from selenium import webdriver
    from selenium.webdriver.common.by  import  By
    from selenium.webdriver.support.select import Select
    
    band = Select(driver.find_element(By.NAME, 'selDataSerialComBaudRate'))
    band.select_by_visible_text(bandrate)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    二、警告框处理
    使用 text/accept/dismiss/send_keys 进行操作。
    switch_to_alert()  #定位弹出对话
    text()    #获取对话框文本值
    accept() #相当于点击"确认"
    dismiss() #相当于点击"取消"
    send_keys() # 输入值,这个alert和confirm没有输入对话框,所以这里就不能用了,所以这里只能使用在prompt这里。

    from selenium.webdriver.support.select import Select
    
    alert = driver.switch_to_alert()
    '''添加等待时间'''
    time.sleep(2)
    '''获取警告对话框的内容'''
    print (alert.text)  #打印警告对话框内容
    alert.accept()   #alert对话框属于警告对话框,我们这里只能接受弹窗
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    三、页面截图
    driver.save_screenshot(“截图.png”)

    import time
    import re
    import os
    import _thread
    
    from selenium import webdriver
    from selenium.webdriver.common.by  import  By
    from selenium.webdriver.support.select import Select
    
    		if os.path.exists("232overip_config.jpg"):
            os.remove("232overip_config.jpg")
        driver.get_screenshot_as_file("232overip_config.jpg")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    [深入理解SSD] 总目录
    语言的未来:深度学习在自然语言处理中的革命
    ElementUI的Dialog弹窗实现拖拽移动功能
    《一周搞定数电》-逻辑门
    Dubbo学习(三)- Dubbo的管理控制台dubbo-admin
    AI 原生时代,更要上云:百度智能云云原生创新实践
    【Bug】8086汇编学习
    数据结构— —循环队列
    AttributeError: ‘Conv‘ object has no attribute ‘fuseforward‘
    对pytorch中的文本分类实例代码进行逐行注释
  • 原文地址:https://blog.csdn.net/u010835747/article/details/125501707