zoukankan      html  css  js  c++  java
  • selenium python (六)定位一组对象

    checkbox源码:

    <html>
    <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <title>Checkbox</title>
    <script type="text/javascript" async="
    " src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css"
    rel="stylesheet" />
    <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
    </head>
    <body>
    <h3>checkbox</h3>
    <div class="well">
    <form class="form-horizontal">
    <div class="control-group">
    <label class="control-label" for="c1">checkbox1</label>
    <div class="controls">
    <input type="checkbox" id="c1" />
    </div>
    </div>
    <div class="control-group">
    <label class="control-label" for="c2">checkbox2</label>
    <div class="controls">
    <input type="checkbox" id="c2" />
    </div>
    </div>
    <div class="control-group">
    <label class="control-label" for="c3">checkbox3</label>
    <div class="controls">
    <input type="checkbox" id="c3" />
    </div>
    </div>
    </form>
    </div>
    </body>
    </html>

    ==============================================================================

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    __author__ = 'zuoanvip'

    #定位单个对象是用find_element_by_id(),定位一组对象为find_elements_by_id(),其他几种定位方式都如此

    #定位一组对象一般用于以下场景:批量操作对象,比如将页面上所有的checkbox都选中;先获取一组对象,再在这组对象中过滤出需要具体定位的一些对象。

    #导入包
    from selenium import webdriver
    import os

    driver = webdriver.Firefox()
    #checkbox.html 要和脚本文件放一个目录下,否则需要指定checkbox.html的路径
    file_path = 'file:///'+os.path.abspath('checkbox.html')
    driver.get(file_path)

    #选中页面上所有的tag name为input的元素,这里我们用css定位
    drivers = driver.find_elements_by_css_selector('input')

    #过滤出type 为checkbox的元素,并选中
    for k in drivers:
        if k.get_attribute('type') == 'checkbox':
            k.click()


    #打印当前页面上type 为checkbox的个数
    print len(driver.find_elements_by_css_selector('input[type=checkbox]'))

    #把页面上最后一个checkbox的勾去掉
    driver.find_element_by_css_selector('input[type=checkbox]').pop().click()

  • 相关阅读:
    观察者模式
    php中compact,extract,list函数的使用
    加密解密
    python 线程池proxypool
    python qq音乐下载
    python 网易云音乐
    python 知识点
    python 格式化 header
    python 爬取百度图片
    php 过滤掉多维数组空值
  • 原文地址:https://www.cnblogs.com/dvbbs2012/p/5022600.html
Copyright © 2011-2022 走看看