zoukankan      html  css  js  c++  java
  • uniquefu Python+Selenium学习--select

    场景

    在处理下拉框(select)的时候selenium给我们提供了一系列的便捷方法,我们只需要使用selenium.webdriver.support.select.Select类来稍微封装一下就好了。

    下面是我们经常会用到的一些方法

    • options: 返回下拉框里所有的选项
    • all_selected_options: 返回所有选中的选项
    • select_by_value(value): 通过option的value值来选择
    • select_by_index(index) 通过option的顺序来选择
    • select_by_visible_text(text): 通过option的text来选择

    代码

    s7.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <form enctype="multipart/form-data">
            <div>
    
                <textarea name="meno" >123456</textarea>
    
                <select name="city"  >
                    <option value="beijing">北京</option>
                    <option value="shanghai">上海</option>
                    <option value="nanjing" selected="selected">南京</option>
                    <option value="chengdu">成都</option>
                </select>
    
            <input type="submit" value="提交" />
            <input type="reset" value="重置" />
            </div>
        </form>
    </body>
    </html>
    

      select--tag.py

    #!/usr/bin/env python
    # -*- codinfg:utf-8 -*-
    '''
    @author: Jeff LEE
    @file: select--tag.pay
    @time: 2018-05-10 10:44
    '''
    from selenium import webdriver
    from selenium.webdriver.support.select import Select
    from time import sleep
    import os
    
    if 'HTTP_PROXY'in os.environ:
        del os.environ['HTTP_PROXY']
    
    dr = webdriver.Firefox()
    file_path ='file://'+ os.path.abspath('s7.html')
    print (file_path)
    dr.get(file_path)
    
    city_selector = Select(dr.find_element_by_tag_name('select'))
    
    # 返回所有的options
    print(city_selector.options)
    sleep(1)
    
    # 返回所有选中的options
    print(city_selector.all_selected_options)
    sleep(1)
    
    # 通过option的value值来选择上海
    city_selector.select_by_value('shanghai')
    sleep(2)
    
    # 通过index来选择,比如选择第4项
    city_selector.select_by_index(3)
    sleep(1)
    
    # 通过option的text来选择
    city_selector.select_by_visible_text('北京')
    
    dr.quit()
    

      

  • 相关阅读:
    编写更好的CSS
    EntityFramework中支持BulkInsert扩展
    NoSql数据库使用
    jsoneditor显示Json data
    资源
    了解你的被测系统(why?)
    SQL SERVER开窗函数
    oracle中的exists 和not exists 用法详解(转)
    visualvm监控jvm及远程jvm监控方法(转)
    爆:中国互联网的那些黑色产业链(转)
  • 原文地址:https://www.cnblogs.com/uniquefu/p/9018611.html
Copyright © 2011-2022 走看看