美文网首页
Python webdriver API(二)操作测试对象

Python webdriver API(二)操作测试对象

作者: qianyewhy | 来源:发表于2017-07-28 10:17 被阅读16次

    一、操作测试对象

    一般来说,所有有趣的操作与页面交互都将通过WebElement 接口,包括上一节中介绍的对象定位,以及本节中需要介绍的常对象操作。

    webdriver 中比较常用的操作元素的方法有下面几个:

    clear 清除元素的内容,如果可以的话

    send_keys 在元素上模拟按键输入

    click 单击元素

    submit 提交表单

    下面以登录360中心为例来展示常用操作的使用

    fromseleniumimportwebdriver

    importtime

    driver = webdriver.Firefox()

    driver.get("https://i.360.cn/login?destUrl=https%3A%2F%2Fi.360.cn%2F")

    driver.find_element_by_name("account").clear()

    driver.find_element_by_name("account").send_keys("username")

    driver.find_element_by_name("password").clear()

    driver.find_element_by_name("password").send_keys("password")

    driver.find_element_by_xpath(".//*[@id='loginWrap']/div[1]/div/div/div[2]/form/p[5]/input").click()

    # driver.find_element_by_xpath(".//*[@id='loginWrap']/div[1]/div/div/div[2]/form/p[5]/input").submit()

    time.sleep(30)

    driver.quit()

    1、首先,通过firebug和firepath定位元素,用户名输入框、密码输入框以及登录按钮

    2、clear()    用于清除输入框的默认内容

        比如登录框内一般默认会有“账号”“密码”等提示信息,如果直接输入内容,和可能会与输入框的默认提示信息拼接,从而造成输入信息的错误;这时clear()将变得非常有用。

    3、send_keys()   向输入框输入内容

    python 是个容易出现编码问题的语言,有时候当我们在send_keys()方法中输入中文时,然后脚本在运行时就报编码错误,这个时候我们可以在脚本开头声明编码为utf-8,然后在中文字符的前面加个小u 就解决了(表示转成python Unicode 码):                                                          

    #coding=utf-8

    send_keys(u"中文内容")

    4、click() 用于单击一个按钮

    其实click()方法不仅仅用于点击一个按钮,可以单击任何可以点击的元素,文字/图片连接,按钮,下拉按钮等。

    5、submit() 提交表单

    从上面有例子,我们可看到可以使用submit()方法来代替click()对输入的信息进行提交,在有些情况下两个方法可以相互使用;submit()要求提交对象是一个表单,更强调对信息的提交。click()更强调事件的独立性。(比如,一个文字链接就不能用submit()方法。)

    二、WebElement 接口常用方法

    1、size  返回元素的尺寸

    2、text  获取元素的文本信息

    3、get_attribute(name) 获取元素的属性值

    4、is_displayed() 该元素是否用户可见                                                                                    

    程序截图
    结果截图

    相关文章

      网友评论

          本文标题:Python webdriver API(二)操作测试对象

          本文链接:https://www.haomeiwen.com/subject/edpbkxtx.html