zoukankan      html  css  js  c++  java
  • WebDriver Api

    一、操作元素基本方法:

    1、操作浏览器基本方法:

      1.1打开网页

        driver = webdriver.Firefox()

        driver = webdriver.Ie()

        driver = webdriver.Chrome()

        driver.get('http://www.baidu.com')

      1.2设置休眠

        import time

        time.sleep()

      1.3页面刷新

        driver.refresh()

      1.4页面切换

        driver.back()      返回上一页

        driver.forward()  切换到下一页

      1.5设置窗口大小

        driver.set_window_size(540,960)    设置浏览器大小为540*960

        driver.maximize_window()                设置浏览器窗口最大化

      1.6截屏

        driver.get_screenshot_as_file('保存地址')

      1.7退出

        driver.close()   关闭当前窗口

        driver.quit()      用于结束进程,关闭所有窗口

    2、常用8种元素定位(Firebug和firepath)

      2.1  id定位            find_element_by_id(self,id)

      2.2  name定位      find_element_by_name(self,name)

      2.3  class定位       find_element_by_class_name()

      2.4  tag定位          find_element_by_tag_name(self,name)

      2.5  link定位          find_element_by_link_text(self,link_text)

      2.6  partial_link定位 find_element_by_partial_link_text(self,link_text)

      2.7  xpath定位       find_element_by_xpath(self,xpath)

      2.8  css定位          find_element_by_css_selector(self,css_selector)

        这八种是复数形式(2.8和2.27章节有介绍)
       2.9  id复数定位           find_elements_by_id(self, id_)
            2.10  name复数定位   find_elements_by_name(self, name)
            2.11  class复数定位    find_elements_by_class_name(self, name)
            2.12  tag复数定位       find_elements_by_tag_name(self, name)
            2.13  link复数定位       find_elements_by_link_text(self, text)
            2.14  partial_link复数定  find_elements_by_partial_link_text(self, link_text)
            2.15  xpath复数定位    find_elements_by_xpath(self, xpath)
            2.16  css复数定位        find_elements_by_css_selector(self, css_selector
           这两种是参数化的方法,对上面8种的总结(4.2有具体介绍)
            2.17      find_element(self, by='id', value=None)
            2.18      find_elements(self, by='id', value=None)
    3、操作元素(键盘和鼠标事件)

      3.1简单操作

        点击(鼠标左键)页面按钮      click()

        清空输入框                               clear()

        输入字符串                               send_keys()

      3.2 submit提交表单

        submi()一般用于模拟回车键

        driver.find_element_by_id('kw').submit()

      3.3键盘事件

        模拟键盘的操作需要先导入键盘模块: from selenium.webdriver.common.keys import Keys

        模拟enter键,可以用send_keys(Keys.ENTER)

        driver.find_element_by_id('kw').send_keys(Keys.ENTER)

      3.4 其他常见的键盘操作

        键盘F1到F12    send_keys(Keys.F1)      把F1改为对应的快捷键

        复制Ctrl+C        send_keys(Keys.CONTROL,'c')

        粘贴Ctrl+V        send_keys(Keys.CONTROL,'v')

        全选Ctrl+A        send_keys(Keys.CONTROL,'a')

        剪切Ctrl+X        send_keys(Keys.CONTROL,'x')

        制表键Tab        send_keys(Keys.TAB)

      3.5鼠标悬停事件

        鼠标悬停事件需先导入模块  from selenium.webdriver.common.action_chains import ActionChains

        perform()执行所有ActionChains中的行为

        move_to_element()鼠标悬停

        百度设置按钮例子:

        from selenium import webdriver

        from selenium webdriver.common.action_chains import ActionChains

        driver = webdriver.Firefox()

        driver.get('http://www.baidu.com')

        # 鼠标悬停在搜索设置按钮上

        mouse = driver.find_element_by_link_text('设置')

        ActionChains(driver).move_to_element(mouse).perform()

      3.6除了常用的鼠标悬停事件外,还有

        右击鼠标  context_click()

        双击鼠标  double_click()

    3.7多窗口,句柄(handle)

        获取当前页面的句柄  driver.current_window_handle

        获取当前所有句柄      driver.window_handles

        

        

      

  • 相关阅读:
    Wide & Deep Learning for Recommender Systems
    两个经典问题
    Vlog简介
    中文dumps显示
    用Python提取中文关键词
    【STL】算法 — partial_sort
    c字符串分割 strtok()
    JSP的声明(statement)
    layui之ajax巨坑
    jQuery 库中的 $() 是什么?(答案如下)
  • 原文地址:https://www.cnblogs.com/niki-1314/p/8656743.html
Copyright © 2011-2022 走看看