自动化测试day02

元素操作方法

  1. send_keys() 输入方法
  2. click() 点击方法
  3. clear() 清空
    在输入方法操作之前一定要清空操作

操作浏览器常用方法

  1. maximize_window() 最大化浏览器窗口–>模拟浏览器最大化按钮
  2. set_window_size(width,height) 设置浏览器窗口大小–>设置浏览器宽、高(像素点)
  3. set_window_position(x,y) 设置浏览器窗口位置–>设置浏览器位置
  4. back() 后退–>模拟浏览器后退
  5. forward() 前进–>模拟浏览器前进按钮
  6. refresh() 刷新–>模拟浏览器F5刷新
  7. close() 关闭当前窗口(默认启动哪个界面,就是主窗口)–>模拟点击浏览器关闭按钮
  8. quit() 关闭浏览器驱动对象–>关闭所有程序启动的对象
  9. title 获取页面title
  10. current_url 获取当前页面url
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
driver=webdriver.Chrome()
driver.get('http://120.79.134.189/page/xiaoyu-authority_management/login.html')

driver.find_element_by_id("login").click()
driver.maximize_window()
sleep(2)
driver.set_window_size(800,500)
sleep(2)
driver.set_window_position(10,50)
sleep(2)
driver.maximize_window()
driver.find_element_by_css_selector("input").send_keys("15679790909")
driver.find_element_by_css_selector("input").clear()
driver.find_element_by_css_selector("input").send_keys("15679790909")
sleep(2)
driver.find_element_by_css_selector("input[name='password']").send_keys(123456)
driver.find_element_by_css_selector("input[id*='in']").click()
driver.back()
driver.forward()
driver.title
driver.current_url

driver.find_element_by_xpath("//*[@id='login']").click()
sleep(1)
driver.quit()

获取元素信息

  1. size 返回元素大小
  2. text 获取元素文本
  3. get_attribute(“xxx”) 获取属性值,传递的参数为元素的属性名
  4. is_displayed() 判断元素是否可见
  5. is_enabled() 判断元素是否可用
  6. is_selected() 判断元素是否选中,用来检查复选框或单选框是否被选中

鼠标事件

鼠标事件对应的方法所在的类

ActionChains类–>导包
例:from selenium.webdriver.common.action_chains
import ActionChains

实例化对象:
action=ActionChains(driver)

鼠标事件常用的操作方法

  1. context_click() 右击
    应用:
    Action Chains(driver).contex_click(元素定位).perform()
  2. double_click() 双击
    应用:
    Action Chains(driver).double_click(元素定位).perform()
  3. drag_and_drop() 拖拽
    应用:
    Actionchains(driver).drag_anddrop(控制的元素,指定位置).perform()
  4. move_to_element() 悬停
    应用:
    Action Chains(driver).move_to_click(元素定位).perform()
  5. perform() 执行以上事件方法

键盘操作

Keys类

导包:
from selenium.webdriver.common.keys import Keys
需要实例化

常用键盘操作

  1. send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
  2. send_keys(Keys.SPACE) 空格键(Space)
  3. send_keys(Keys.TAB) 制表键(Tab)
  4. send_keys(Keys.ESCAPE) 回退键(Esc)
  5. send_keys(Keys.ENTER) 回车键(Enter)
  6. send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A)
  7. send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)

元素等待

why?
由于网络或配置,未第一时间加载出来,二抛出元素未找到异常

隐式元素等待(全局)

driver.implicitly_wait(timout)
(timout:为等待最大时长,一般情况下设置30秒,单位秒)

  1. 针对所有元素生效
  2. 一般情况下必写

显式元素等待(局部)

  1. 导包:
    from selenium.webdriver.support.wait import webDriverWait
  2. WebDriverWait(driver,timeout,poll_frequency=0.5)
    1)driver 浏览器驱动对象
    2)timeout 超时的时长
    3)poll_frequency 检测间隔时长,默认0.5s
  3. 调用方法 until(method) 直到…时
    1)method 函数名称,该元素用来实现对元素的定位
    2)一般使用匿名函数来实现
    lambda x:x.find_element_by_id(“userA”)
  4. element=WebDriverWait(driver,timeout=10,poll_frequency=0.1).until(lambda x:x.driver.find_element_by_name(“username”)).send_keys(“15679790909”)

    x: x 为driver,它是WebDriverWait类将传入的driver赋值给类self._driver,until方法调用了self.driver

扩展

send_keys(“文件名”) 可以上传文件
例:

driver.find_element_by_css_selector(“[name=‘upfilea’]”).send_key(“D:\hello.txt”)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值