• webdriver(python)学习笔记六——操作测试对象


    定位到具体对象后,就需要对其进行操作,比如点击、输入内容等。

    一般来说,webdriver中比较常用的操作对象的方法有下面几个

    • click 点击对象
    • send_keys 在对象上模拟按键输入
    • clear 清除对象的内容,如果可以的话

    前面文章提到,以登录百度,输入查询条件,点击按钮为例。代码如下:

    # coding = utf-8
    from selenium import webdriver
    
    browser = webdriver.Firefox()
    
    browser.get("http://www.baidu.com")
    browser.find_element_by_id("kw").clear()
    browser.find_element_by_id("kw").send_keys("selenium")
    browser.find_element_by_id("su").click()
    browser.quit()

    其中

    1、clear()   用于清除输入框的内容,比如百度输入框里默认有个“请输入关键字”的信息,再比如我们的登陆框一般默认会有“账号”“密码”这样的默认信息。clear可以帮助我们清除这些信息。

    2、send_keys("XX")   用于在一个输入框里输入内容。

    3、click()   用于点击一个按钮。


    webelement部分用法:

    · text  获取该元素的文本

    · submit  提交表单

    · get_attribute  获得属性值

    text

    # coding:utf-8
    
    from selenium import webdriver
    from time import sleep
    import os
    
    dr=webdriver.Firefox()
    dr.get('http://www.baidu.com')
    sleep(1)
    
    #id=cp 元素的文本信息
    data=dr.find_element_by_id("cp").text
    print data #打印信息
    
    sleep(1)
    
    dr.quit()
        

    输出结果为:©2014 Baidu 使用百度前必读 京ICP证030173号

    submit

    # coding:utf-8
    
    from selenium import webdriver
    from time import sleep
    import os
    
    dr=webdriver.Firefox()
    dr.get('http://www.baidu.com')
    sleep(1)
    
    dr.find_element_by_id("kw").send_keys('放假安排')
    driver.find_element_by_id("su").submit()
    sleep(1)
    
    dr.quit()

    在这里,使用submit()与click()效果相同。

    get_attribute

    获取元素,在定位一组元素时会用到。一般用法如下:

    select = driver.find_element_by_tag_name("select")
    
    allOptions = select.find_elements_by_tag_name("option")
    
    for option in allOptions:
    
        print "Value is: " + option.get_attribute("value")
    
        option.click()


    定位一组元素可以参考前面学到的内容。

    WebElement的方法:

    一般来说,所有有趣的操作与页面进行交互的有趣的操作,都通过 WebElement 完成

    classselenium.webdriver.remote.webelement.WebElement(parent, id_)

    这个类代表HTML页面元素

    id_
    
    #当前元素的ID
    
     
    
    tag_name
    
    #获取元素标签名的属性
    
     
    
    text
    
    #获取该元素的文本。
    
     
    
    click()
    
    #单击(点击)元素
    
     
    
    submit()
    
    #提交表单
    
     
    
    clear()
    
    #清除一个文本输入元素的文本
    
     
    
    get_attribute(name)
    
    #获得属性值
    
     
    
    s_selected(self)
    
    #元素是否被选择
    
    Whether the element is selected.
    
    is_enabled()
    
    #元素是否被启用
    
     
    
    find_element_by_id(id_)
    
    find_elements_by_id(id_)
    
    #查找元素的id 
    
     
    
    find_element_by_name(name)
    
    find_elements_by_name(name)
    
    #查找元素的name
    
     
    
    find_element_by_link_text(link_text)
    
    find_elements_by_link_text(link_text)
    
    #查找元素的链接文本
    
     
    
    find_element_by_partial_link_text(link_text)
    
    find_elements_by_partial_link_text(link_text)
    
    #查找元素的链接的部分文本
    
     
    
    find_element_by_tag_name(name)
    
    find_elements_by_tag_name(name)
    
    #查找元素的标签名
    
     
    
    find_element_by_xpath(xpath)
    
    #查找元素的xpath
    
     
    
    find_elements_by_xpath(xpath)
    
    #查找元素内的子元素的xpath
    
     
    
    find_element_by_class_name(name)
    
    #查找一个元素的类名
    
     
    
    find_elements_by_class_name(name)
    
    #查找元素的类名
    
     
    
    find_element_by_css_selector(css_selector)
    
    #查找并返回一个元素的CSS 选择器
    
     
    
    find_elements_by_css_selector(css_selector)
    
    #查找并返回多个元素的CSS 选择器列表
    
     
    
    send_keys(*value)
    
    #模拟输入元素
  • 相关阅读:
    kitkat-s5p4418drone 记录
    Android USER 版本与ENG 版本的差异
    Android中的Apk的加固(加壳)原理解析和实现(转)
    Android悬浮窗实现 使用WindowManager
    Android系统的开机画面显示过程分析
    【PMP】变更流程图与说明
    【PMP】十五至尊图
    【Excle】一个比VLOOKUP牛的函数LOOKUP
    【DB2】慎用nickname,可能会引起效率较低
    【读书】人生向前-读书笔记
  • 原文地址:https://www.cnblogs.com/kongzhongqijing/p/3534166.html
Copyright © 2020-2023  润新知