zoukankan      html  css  js  c++  java
  • selenium的常用方法

    1、常用定位方法

    find_element_by_id()
    find_element_by_name()
    find_element_by_class_name()
    find_element_by_tag_name()
    find_element_by_link_text()
    find_element_by_partial_link_text()

    find_element_by_xpath()
    find_element_by_css_selector()

    2、浏览器操作方法

    driver.set_window_size(480, 800)  设置宽高

    driver.maximize_window() 浏览器最大化

    driver.get(url="https://www.baidu.com")访问url

    back()、forWord()后退、前进

    close() 关闭当前页面

    quit() 退出驱动程序,关闭所有页面

    3、元素操作方法

    clear()清空文本框信息

    send_keys()文本框信息输入,也可以执行上传操作

    click()点击

    submit()提交表单,适合没有提交按钮的情况,比如敲下回车

    4、获取元素信息

    size 元素尺寸

    text 元素文本信息

    get_attribute(name)获取属性值

    is_displayed() 判断元素是否可见

    driver.title页面title

    driver.current_url当前页面url

    size=driver.find_element_by_id('kw').size

    #返回元素的属性值,可以是 idnametype 或元素拥有的其它任意属性
    attribute=driver.find_element_by_id("kw").get_attribute('type')

    #返回元素的结果是否可见,返回结果为 True False
    result=driver.find_element_by_id("kw").is_displayed()

    5、鼠标操作

    https://www.cnblogs.com/xinjing-jingxin/p/9299835.html

    6、键盘事件

    from selenium import webdriver
    #引入 Keys 模块
    from selenium.webdriver.common.keys import Keys 

    #输入框输入内容
    driver.find_element_by_id("kw").send_keys("seleniumm")
    #删除多输入的一个 m
    driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
    #输入空格键+“教程
    driver.find_element_by_id("kw").send_keys(Keys.SPACE)
    driver.find_element_by_id("kw").send_keys(u"教程")
    #ctrl+a 全选输入框内容
    driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
    #ctrl+x 剪切输入框内容
    driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
    #ctrl+v 粘贴内容到输入框
    driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')
    #通过回车键盘来代替点击操作
    driver.find_element_by_id("su").send_keys(Keys.ENTER)

    7、等待:强制等待、隐性等待、显性等待

    import time

    time.sleep(5) 强制等待5秒

    隐性等待

    driver.implicitly_wait(5) 隐性等待的周期是整个driver,只需要设置一次即可,每次的执行都会等待

    显式等待

    from selenium.webdriver.common.by import By

    from selenium.webdriver.support.ui import WebDriverWait

    from selenium.webdriver.support import expected_conditions as EC

    elm = WebDriverWait(driver,5,1).until(EC.presence_of_element_located(By.ID,"keyword1"))

    WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
    driver - WebDriver 的驱动程序(IeFirefoxChrome 等)
    timeout - 最长超时时间,默认以秒为单位
    poll_frequency - 休眠时间的间隔(步长)时间,默认为 0.5
    ignored_exceptions - 超时后的异常信息,默认情况下抛 NoSuchElementException 异常。

     8、表单切换

    switch_to_frame() 一般可以直接通过id或者name定位,也可以xpath方式先定位到iframe,再调用switch_to_frame()

    ……
    #先通过 xpth 定位到 iframe
    xf = driver.find_element_by_xpath('//*[@class="if"]')
    #再将定位对象传给 switch_to_frame()方法
    driver.switch_to_frame(xf)
    ……
    driver.switch_to_default_content() 

    switch_to_default_content() 回到上一层表单

    9、窗口切换

     current_window_handle获取当前窗口句柄

    windows_handles 获取打开的所有窗口句柄

    switch_to_window() 切换到句柄窗口 

     10、截图

    driver.get_screenshot_as_file("D:\error.jap")

  • 相关阅读:
    安装nginx
    查看Linux内核
    Python学习总结11:获取当前运行类名和函数名
    Python学习总结10:获取shell输出结果
    Python学习总结9:目录操作方法汇总
    Python学习总结8:文件模式及操作方法汇总
    Python学习总结7:随机字符串和随机数
    Python学习总结6:字符串格式化操作及方法总结
    Python学习总结5:数据类型及转换
    Python学习总结4:字符串常量与操作汇总
  • 原文地址:https://www.cnblogs.com/xinjing-jingxin/p/10152106.html
Copyright © 2011-2022 走看看