一、webdriver常用方法
| / | 方法 | 方法描述 |
| 1 | driver.back() | 浏览器后腿 |
| 2 | driver.forward() | 浏览器前进 |
| 3 | driver.refresh() | 浏览器刷新 |
| 4 | driver.close() | 关闭当前窗口 |
| 5 | driver.quit() | 退出浏览器 |
| 6 | driver.switch_to_frame() | 切换到frame |
| 7 | driver.switch_to_alert() | 切换到alert |
| 8 | driver.switch_to.active_element() | 切换到活动元素 |
from selenium import webdriver
from time import sleep
class TestCase(object):
def __init__(self):
self.driver = webdriver.Chrome()
self.driver.get('http://www.baidu.com')
self.driver.maximize_window()
def test_prop(self):
print(self.driver.name) #浏览器名称
print(self.driver.current_url) #url
print(self.driver.title) #打印网页标题
print(self.driver.window_handles) #句柄,切换网页tab
print(self.driver.page_source) #右键单击查看源码
self.driver.quit()
def test_metnod(self):
self.driver.find_element_by_id('kw').send_keys('selenium')
self.driver.find_element_by_id('su').click()
sleep(2)
self.driver.back() #返回网页
sleep(2)
self.driver.refresh()
sleep(2)
self.driver.forward() #前进网页
self.driver.close() #只关闭当前tab
self.driver.quit() #关闭浏览器
#切换句柄实例,两个tab页切换
def test_windows(self):
self.driver.find_element_by_link_text('新闻').click()
windows = self.driver.window_handles
while 1:
for w in windows:
self.driver.switch_to.window(w)
sleep(2)
if __name__ == '__main__':
case = TestCase()
#case.test_prop()
#case.test_metnod()
case.test_windows()
二、常用属性
当我们使用WebDriver的find方法定位到元素后,会返回一个WebElement对象,该对象用来描述Web页面上的一个元素
WebElement常用属性:
| # | 属性 | 属性描述 |
| 1 | id | 标示 |
| 2 | size | 宽高 |
| 3 | rect | 宽高和坐标 |
| 4 | tag_name | 标签名称 |
| 5 | text | 文本内容 |
WebElement常用方法:
| # | 方法 | 方法描述 |
| 1 | send_keys() | 输入内容 |
| 2 | clear() | 清空内容 |
| 3 | click() | 单击 |
| 4 | get_attribute() | 获得属性值 |
| 5 | is_selected() | 是否被选中 |
| 6 | is_enabled() | 是否可用 |
| 7 | is_displayed() | 是否显示 |
| 8 | value_of_css_property() | css属性 |
#实例:
from selenium import webdriver
from time import sleep
# http://sahitest.com/demo/ 学习网站
from selenium.webdriver.remote.webelement import WebElement
class TestCase(object):
def __init__(self):
self.driver = webdriver.Chrome()
self.driver.get('http://sahitest.com/demo/linkTest.htm')
#属性调用
def test_webelement_prop(self):
e = self.driver.find_element_by_id('t1')
e1 = WebElement
print(type(e))
print(e.id)
print(e.tag_name)
print(e.size)
print(e.rect)
print(e.text)
#方法调用
def test_webelement_method(self):
e = self.driver.find_element_by_id('t1')
e.send_keys('hello world')
sleep(2)
print(e.get_attribute('type'))
print(e.get_attribute('name'))
print(e.get_attribute('value'))
print(e.value_of_css_property('font'))
print(e.value_of_css_property('color'))
sleep(2)
e.clear()
#form表单定位
def test_method2(self):
form_element = self.driver.find_element_by_xpath('/html/body/form[1]')
form_element.find_element_by_id('t1').send_keys('hello world')
if __name__ == '__main__':
case = TestCase()
#case.test_webelement_prop()
case.test_webelement_method()



