zoukankan      html  css  js  c++  java
  • selenium(二)

    一、web控件的交互进阶

    selenium需要与浏览器交互就需要导入Action Chains,主要用于模拟鼠标的行为,比如单击、双击、拖动等;

    当调用Action Chains的方法时,会将所有操作按顺序存入队列

    当调用perform()方法时,队列中的事件会依次进行

    from selenium import webdriver
    from selenium.webdriver import ActionChains
    
    driver = webdriver.Chrome()
    action = ActionChains(driver)
    action.send_keys()

    二、点击相关操作

      1)鼠标单击

      action.click(on_element=None)

      2) 鼠标单击且按住不放

      action.click_and_hold(on_element=None)

      3) 执行鼠标右键操作

        action.context_click(on_element=None)

      4) 执行鼠标左键双击

      action.double_click(on_element=None)

      5) 拖拽起始的元素到目标元素

      action.drag_and_drop(source,target)

      6) 将目标拖动到指定位置

      action.drag_and_drop_by_offset(source,xoffset,yoffset)

      

    三、按键

      ey:按住Ctrl+c然后释放

      ActionChains(driver).key_down(keys.CONTROL).send_keys('c').key_up(keys.CONTROL).perform()

    四、移动

      1、将鼠标移动到某一个位置

      action.move_by_offset(xoffset,yoffset)

      2、将鼠标移动到某个元素的位置

      action.move_to_element(to_element)

      3、移动鼠标到某个元素位置的偏移位置

      action.move_to_element_with_offset(to_element,xoffset,yoffset)

    执行ActionChains: action.perfoem()

    五、frame

      iframe的多种切换方式

      1)index切换

      driver.switch_to.frame(0)

      2) id切换

      driver.switch_to.frame('string')

      3) name切换

      driver.switch_to.frame('string')

      4)webelement切换

      driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))

      iframe切换回默认页面

      driver.switch_to_default_content()

      iframe多层切换:

      第一层 iframe     第二层 iframe1     第二层 iframe2

      从最外面的iframe切换到iframe2需要层层切换:

      driver.switch_to.frame("iframe1")

      driver.switch_to.frame("iframe2")

      从iframe2切换回iframe1

      driver.switch_to.parent_frame()

      从iframe1切换回iframe

      driver.switch_to.parent_frame()

      

    六、多窗口

      浏览器窗口的属性用句柄来识别

    from selenium import webdriver

    driver = webdriver.Chrome()
    handles = driver.window_handles
    print(handles)
    driver.switch_to.window(handles[-1])

    # ['CDwindow-2781C478671E0D99F4A44ED4CA185DC3']

      

      

  • 相关阅读:
    吴裕雄 19-Mysql 连接的使用
    吴裕雄 18-MySQL GROUP BY 语句
    吴裕雄 17-MySQL 排序
    吴裕雄 16-MySQL UNION 操作符
    吴裕雄 15-MySQL LIKE 子句
    吴裕雄 14-MySQL DELETE 语句
    吴裕雄 13-MySQL UPDATE 查询
    【2017中国大学生程序设计竞赛
    【2017中国大学生程序设计竞赛
    【AtCoder Regular Contest 082 F】Sandglass
  • 原文地址:https://www.cnblogs.com/hd-test/p/13192455.html
Copyright © 2011-2022 走看看