zoukankan      html  css  js  c++  java
  • 总结Selenium自动化测试方法(四)WebDriver常用的操作

    四、WebDriver常用的操作

    1、控制浏览器操作

    #控制浏览器的大小

    self.driver.set_window_size(480,800)

    #控制浏览器返回

    self.driver.back()

    #控制浏览器前进到下个页面

    self.driver.forward()

    #刷新当前页面

    self.driver.refresh()

    2、控制页面元素的简单操作

    #清除文本操作

    self.driver.find_element_by_xpath("/div/div[2]/div/div/div").clear()

    #模拟键盘输入值

    self.driver.find_element_by_xpath("/div/div[2]/div/div/div").send_keys(“urstest@163.com”)

    #点击元素

    self.driver.find_element_by_xpath("/div/div[2]/div/div/div").click()

    #提交表单

    self.driver.find_element_by_xpath("/div/div[2]/div/div/div").submit()

    #返回输入框尺寸

    size=self.driver.find_element_by_xpath("/div/div[2]/div/div/div").size

    print(size)

    #返回文本内容

    text=self.driver.find_element_by_xpath("/div/div[2]/div/div/div").text

    print(text)

    #返回元素的属性值

    attribute1=self.driver.find_element_by_xpath("/div/div[2]/div/div/div").get_attribute(‘id’)

    print(attribute1)

    attribute2=self.driver.find_element_by_xpath("/div/div[2]/div/div/div").get_attribute(‘name’)

    print(attribute2)

    attribute3=self.driver.find_element_by_xpath("/div/div[2]/div/div/div").get_attribute(‘type’)

    print(attribute3)

    #返回元素的结果是否可见,返回结果是True或是False

    result=self.driver.find_element_by_xpath("/div/div[2]/div/div/div").is_displayed()

    print(result)

    #返回页面标题

    title=self.driver.title

    print(title)

    #返回页面url

    url=self.driver.current_url

    print(url)

    #上传文件,上传文件相当于给元素传值,可以用send_keys()函数

    self.driver.find_element_by_xpath("/div/div[2]/div/div/div").send_keys(‘D:\upload_file.txt’)

    3、鼠标操作

    首先要导入鼠标操作的Actionchains类

    #引入Actionchains类

    from selenium import webdriver

    from selenium.webdriver.common.action_chains import ActionChains

    然后就可以用下面的这些函数进行鼠标的操作了

    #左键用上面讲到的click()函数就可以了

    #右键

    right_click= self.driver.find_element_by_xpath("/div/div[2]/div/div/div")

    ActionChains(driver).context_click(right_click).perform()

    #双击

    double_click= self.driver.find_element_by_xpath("/div/div[2]/div/div/div")

    ActionChains(driver).double_click(double_click).perform()

    #拖拽

    #拖拽的原位置

    element= self.driver.find_element_by_xpath("/div/div[2]/div/div/div")

    #拖拽的目标位置

    target= self.driver.find_element_by_xpath("/div/div[2]/div/div/div[2]")

    #执行拖拽

    ActionChains(driver).drag_and_drop(element,target).perform()

    4、键盘操作

    首先要导入键盘操作的Keys类

    #引入Keys类

    from selenium import webdriver

    from selenium.webdriver.common.keys import Keys

    然后就可以用下面的这些函数进行键盘的操作了

    #输入内容:用之前的send_keys()函数即可

    #回删内容

    text= self.driver.find_element_by_xpath("/div/div[2]/div/div/div")

    text.send_keys(Keys.BACK_SPACE)

    #输入空格及内容

    text= self.driver.find_element_by_xpath("/div/div[2]/div/div/div")

    text2=text.send_keys(Keys.SPACE)

    text2.send_keys(u“就是啊”)

    #全选内容ctrl+a

    text= self.driver.find_element_by_xpath("/div/div[2]/div/div/div")

    text.send_keys(Keys.CONTROL,’a’)

    #剪切内容ctrl+x

    text= self.driver.find_element_by_xpath("/div/div[2]/div/div/div")

    text.send_keys(Keys.CONTROL,’x’)

    #粘贴内容ctrl+v

    text= self.driver.find_element_by_xpath("/div/div[2]/div/div/div")

    text.send_keys(Keys.CONTROL,’v’)

    #回车

    text= self.driver.find_element_by_xpath("/div/div[2]/div/div/div")

    text.send_keys(Keys.ENTER)

    5、元素等待操作

    ①显示等待

    原理:显式等待,就是明确的要等到某个元素的出现或者是某个元素的可点击等条件,等不到,就一直等,除非在规定的时间之内都没找到,那么就跳出Exception.(简而言之:就是直到元素出现才去操作,如果超时则报异常)

    ②隐式等待

    原理:隐式等待,就是在创建driver时,为浏览器对象设置一个等待时间。这个方法是得不到某个元素就等待一段时间,直到拿到某个元素位置。

    注意:在使用隐式等待的时候,实际上浏览器会在你自己设定的时间内不断的刷新页面去寻找我们需要的元素

    ③休眠方法sleep

    需要导入sleep类

    #引入sleep类

    from selenium import webdriver

    from time import sleep

    time.sleep(3)

    6、处理验证码(验证码是阻碍自动化测试的部分,所以要想办法绕开这个环节)

    ①注释掉验证码部分的代码

    ②设置一个万能验证码

    ③验证码的识别技术

    ④记录cookie,来跳过登录的部分

  • 相关阅读:
    python--模块与包
    内置函数 的总结
    迭代器 生成器 列表推导式 生成器表达式的一些总结
    函数的有用信息 带参数的装饰器 多个装饰器装饰一个函数
    函数名的应用(第一对象) 闭包 装饰器
    动态参数 名称空间 作用域 作用域链 加载顺序 函数的嵌套 global nonlocal 等的用法总结
    函数的初识 函数的返回值 参数
    文件操作 常用操作方法 文件的修改
    遍历字典的集中方法 集合的作用 以及增删查的方法
    计算机硬件的小知识
  • 原文地址:https://www.cnblogs.com/linyuchen2008/p/6040421.html
Copyright © 2011-2022 走看看