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
-
元素定位:
-
- id定位:find_element_by_id()
- name定位:find_element_by_name()
- class定位:find_element_by_class()
- tag定位:find_element_by_tag_name()
- link定位:find_element_by_link_text()
- partial link 定位: find_element_by_partial_link_text()
- 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()