首页 > 技术文章 > selenium+python 常用API--1

yaojyhappy 2018-12-29 12:36 原文

Python+selenium常用的一些方法函数---未完待续

 首先要导入包:from selenium import webdriver

 

  • 加载浏览器驱动:webdriver.Ie()  、 webdriver.Firefox()、   webdriver.Chrome()

  • 启动浏览器使用方法:driver =webdriver.Ie(),括号里面可加入webdriver所在的路径

  • 打开页面:driver.get('url地址')

  • 关闭浏览器:driver.quit()

  • 刷新页面:driver.refresh()
  • 设置等待时间:driver.set_page_load_timeout(4)
  • 最大化窗口: driver.maximize_window()

  • 设置窗口大小:driver.set_window_size(600,800)

  • 后退到前一页:driver. back()

  • 前进到后一页: driver.forward()

  • 获得title:driver.title

  • 找titile: assert self.driver.title.find(u"搜狗搜索引擎")>=0, "assert error"

  • 获取当前页面属性:self.assertEqual(drvier.title, u"百度一下,你就知道", "页面title属性值错误!")

  • 截屏:driver.get_screenshot_as_file(r"e:\screenPicture.png")

  • 获取、设置当前窗口位置:

       获取:driver.get_window_position()

       设置:driver.set_window_position(y=200, x=400)

  • 获取并断言页面源码:
         获取: pageSource = self.driver.page_source  
         pageSource.encode("gbk","ignore")
         assertTrue( u"字符文本XX" in pageSource)
  • 获取当前窗口句柄:driver.current_window_handle
  •  元素定位:

    1. id定位:find_element_by_id()
    2. name定位:find_element_by_name()
    3. class定位:find_element_by_class()
    4. tag定位:find_element_by_tag_name()
    5. link定位:find_element_by_link_text()
    6. partial link 定位: find_element_by_partial_link_text()
    7. Xpath定位:
        • 绝对路径:find_element_by_xpath("绝对路径/相对路径")
        • 元素文本:find_element_by_xpath(//footer//span[text()='发送'] )  里面内容等价于    //footer//span[.='发送']
        • 元素属性:find_element_by_xpath("//unput[@id='kw']")
        • 层级与属性结合:find_element_by_xpath("//form[@id='loginForm']/ul/input[1]")
        • 逻辑运算符:
                             find_element_by_xpath("//input[@id='kw' and @class='s_ipt']")  
                             find_element_by_xpath(//div/a[contains(.,'录') and @tabindex="6"])
                             find_element_by_xpath(/bookstore/book/price[.=29.99])
                             find_element_by_xpath(/bookstore/book/price[.!=29.99+10])
        • CSS定位:find_element_by_css_selector()

  • 查找某个页面上的元素:

         self.driver.get(“https://www.baidu.com”)
        # 通过xpath定位方式找到id属性值为“u1”的div元素下的第一个链接元素

        aElement = self.driver.find_element_by_xpath("//*[@class='mnav'][1]")

         # 通过找到的链接元素对象的text属性获取到链接元素的文本内容

        a_text = aElement.text

        #print "text content:",a_text

        self.assertEqual(a_text, u"新闻")

  • 获取页面元素对象/先定位元素

           element = self.driver.find_element_by_id("IDXXXX")

  • 判断元素是否可操作: element.is_enabled()

            # 判断input元素是否可操作: print  element.is_enabled(),返回True or  False

  • 清除输入框中的文本:element.clear()  or   self.driver.find_element_by_id("kw").clear()

  •  模拟按键输入:element.send_keys(*value)

  • 单击元素:element.click()

  • 提交表单(相当于"回车"):element.submit()

推荐阅读