zoukankan      html  css  js  c++  java
  • selenium

    例1:

    首先,自己编写一个html,包含3个复选框,如下图:

     HTML代码如下:

     1 <html>
     2     <head>
     3         <meta http-equiv="content-type" content="text/html;charset=utf-8" />
     4         <title>checkbox</title>
     5     </head>
     6     <body>
     7         <div>
     8             <label>checkbox1</label>
     9             <input type="checkbox" id="c1" />
    10         </div>
    11         <div>
    12             <label>checkbox2</label>
    13             <input type="checkbox" id="c2" />
    14         </div>
    15         <div>
    16             <label>checkbox2</label>
    17             <input type="checkbox" id="c3" />
    18         </div>
    19     </body>
    20 </html>

    下面,来勾选这3个复选框

    与定位单个元素的方法类似,只在element后加s,即可定位一组元素,例如:find_elements_by_id()

     1 from selenium import webdriver
     2 import time, os
     3 
     4 driver = webdriver.Chrome()
     5 # path.abspath()方法用于获取当前路径下的文件
     6 file_path = 'file:///' + os.path.abspath('checkbox.html')   
     7 driver.get(file_path)
     8 
     9 checkboxes = driver.find_elements_by_xpath("//input[@type='checkbox']")   # 找到复选框
    10 
    11 for chekbox in checkboxes:   # 遍历每一个复选框,并点击勾选
    12     chekbox.click()
    13     time.sleep(1)
    14 
    15 driver.quit()

     也可以按如下方式查找并勾选元素:

    inputs = driver.find_elements_by_tag_name('input')
    
    for i in inputs:
        if i.get_attribute('type') == 'checkbox':
            i.click()
            time.sleep(1)

    另外,还可以进行其它操作:

    print(len(checkboxes))  # 打印复选框的个数
    driver.find_elements_by_xpath("//input[@type='checkbox']").pop().click()   # 将最后一个复选框的勾选去掉

    pop()方法,用于获取列表中的某一个元素,默认为最后一个,并返回该元素的值。若想勾选一组元素中的某一个元素,可按如下方法:

    • pop(0)  第一个
    • pop(1)  第二个
    • ....
    • pop()或pop(-1)  最后一个

    例2:

    打印百度搜索结果

     1 from selenium import webdriver
     2 import time
     3 
     4 driver = webdriver.Chrome()
     5 driver.get('http://www.baidu.com')
     6 
     7 driver.find_element_by_id('kw').send_keys('selenium')
     8 driver.find_element_by_id('su').click()
     9 time.sleep(2)
    10 
    11 divs = driver.find_elements_by_xpath('//div[@tpl="se_com_default"]/h3/a')  # 定位一组元素
    12 
    13 print(len(divs))  # 计算匹配结果个数
    14 
    15 for div in divs:  # 循环遍历出每一条搜索结果的标题
    16     print(div.text)

    打印结果如下:

    7
    Selenium automates browsers. That's it!
    selenium库的基本使用 - 简书
    selenium中文网 | selenium安装、selenium使用、selenium中文...
    Selenium - 知乎
    Selenium with Python — Selenium Python Bindings 2...
    以后再有人问你selenium是什么,你就把这篇文章给他 - TestingGDR...
    Selenium.com

  • 相关阅读:
    软工作业01 P18 第四题
    自我介绍
    进行代码复审训练
    源代码管理工具调查
    软工作业PSP与单元测试训练
    进行代码复审训练
    源代码管理工具
    软工作业PSP与单元测试训练
    作业
    第一堂课
  • 原文地址:https://www.cnblogs.com/xiaochongc/p/12452724.html
Copyright © 2011-2022 走看看