• Selenium


    一、控制浏览器

    1.1 控制浏览器窗口大小

    # 获取当前浏览器的大小  driver.get_window_size(

    # 通过像素设置浏览器的大小  driver.set_window_size('width','height')

    # 获取当前窗口针对于Windows的位置的坐标x,y  driver.get_window_position()

    # 设置当前窗口针对Windows的位置,x,y  driver.set_window_position(20,20)

    # 最大化当前窗口,不需要传参  driver.maximize_window()

    # 返回当前操作的浏览器句柄  driver.current_window_handle

    # 返回所有打开server的浏览器句柄  driver.window_handles
    1.2  控制浏览器后退、前进
    # 前进  driver.forward()
    # 后退  driver.back()
    1.3  模拟浏览器刷新
    # 刷新  driver.refresh()
    二、简单元素操作
    2.1 常用方法
    #清除文本输入框中的内容  element.clear() 
    #模拟键盘向输入框里输入内容  element.send_keys(*value)
    #用来单击一个元素  element.click()   前提是它是可以被单击的对象,它与send_keys(*value) 方法是Web页面操作中最常用到的两个方法
    click() 方法不仅可用于单击一个按钮,它还能单击任何可以单击的文字、图片链接、复选框、单选框、下拉框
    2.2  WebElement 接口常用方法
    通常有趣的和需要与页面交互的方法都由WebElement 接口提供
    #模仿回车按钮 提交数据  element.submit(
    # 根据标签属性名称,获取属性value  element.get_attribute('style')
    # 通过属性名称获取属性  element.get_property('id')
    # 返回元素是否可见 True or False  element.is_displayed()
    # 返回元素是否被选中 True or False  element.is_selected()
    # 返回标签元素的名字  element.tag_name
    # 获取当前标签的宽和高  element.size
    # 获取元素的文本内容  element.text
    # 获取当前元素的坐标  element.location
    # 截取图片  element.screenshot()
    2.3  其他
    执行JavaScript语句  driver.execute_script('JavaScript Commond')
    例如 通过js来操作滚动条 driver.execute_script('window.scrollTo(0,0);')
    三、 鼠标操作
    在Webdriver 中,鼠标操作的方法封装在ActionChains 类中
    引入方式: from selenium.webdriver.common.action_chains import ActionChains
    3.1 鼠标右击操作
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    # 导入提供鼠标操作的ActionChains
    driver = webdriver.Chrome()
    driver.get('http://ui.imdsx.cn/uitester/')
    driver.maximize_window() #最大化当前窗口
    driver.execute_script('window.scrollTo(0,0);')
    #执行JavaScript语句,通过js 来操作滚动条
    right_click = driver.find_element_by_id('id1')
    ActionChains(driver).context_click(right_click).perform()

    ActionChains(driver)
    调用ActionChains() 类,将浏览器驱动driver作为参数传入
    context_click(right_click)
    context_click( )方法用于模拟鼠标右键操作,在调用时需要指定元素定位
    perform()
    执行所有ActionChains 中存储的行为,可以理解成是对整个操作的提交动作
    3.2 鼠标悬停 move_to_element()
    move_to_element() 方法可以模拟鼠标悬停的动作,其用法与context_click( )相同
    dive = driver.find_element_by_css_selector('#a')
    ActionChains(driver).move_to_element(dive).perform()
    3.3 鼠标双击操作 double_click()

    3.4 鼠标拖放操作 drag_and_drop(source,target)
    source 鼠标拖动的源元素
    target 鼠标释放的目标元素
    s = driver.find_element_by_css_selector('#dragger')
    t = driver.find_element_by_css_selector('#i1')
    ActionChains(driver).drag_and_drop(s,t).perform()
     
    引用方法 :from selenium.webdriver.common.keys import Keys
    # key_down 模拟键盘摁下某个按键 key_up 松开某个按键,与sendkey连用完成一些操作,每次down必须up一次否则将出现异常
    ActionChains(driver).key_down(Keys.CONTROL,dom).send_keys('a').send_keys('c').
    key_up(Keys.CONTROL).key_down(Keys.CONTROL,dom1).send_keys('v').key_up(Keys.CONTROL).perform()
  • 相关阅读:
    Moment.js 超棒Javascript日期处理类库
    java模拟http/https post请求
    Mysql中int和varchar类型
    ssh免密码登录
    Linux优雅退出问题
    Jenkins的权限控制和Rundeck的远程认证
    Jenkins系统+独立部署系统
    Nginx基本介绍
    初窥项目构建
    Rundeck概况
  • 原文地址:https://www.cnblogs.com/chendai21/p/8943952.html
Copyright © 2020-2023  润新知