前言
一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210412
【Selenium核心技术篇】包含以下内容:
- Selenium实现元素定位(8种)
- Selenium WebDriver
- Selenium WebElement
- Selenium操作from表单
- Selenium操作checkbox和radiobutton
- Selenium操作下拉列表
- Selenium处理弹框
- Selenium三种等待方式
- Selenium等待条件
- Selenium鼠标和键盘事件
- Selenium执行JavaScript脚本
- Selenium屏幕截图
- Selenium之frame的切入和切出
WebElement属性
当我们使用WebDriver的find方法定位到元素后,会返回一个WebElement对象,该对象用来描述Web页面上的一个元素.WebElement的常用属性和方法见下表
属性 | 属性描述 |
id | 标识 |
size | 宽高 |
rect | 宽高和坐标 |
tag_name | 标签名称 |
text | 文本内容 |
WebElement方法
方法 | 方法描述 |
send_keys() | 输入内容 |
clear() | 清空内容 |
click() | 单击 |
get_attribute() | 获得属性值 |
is_selected() | 是否被选中 |
is_enabled() | 是否可用 |
is_displayed() | 是否显示 |
value_of_css_property() | css属性值 |
实操
from selenium import webdriver
from time import sleep
class TestCase(object):
def __init__(self):
self.driver = webdriver.Chrome()
self.driver.get('http://sahitest.com/demo/linkTest.htm')
def test_webelement_prop(self):
el = self.driver.find_element_by_id('t1')
print(type(el)) # 打印类型
print(el.id) # 标识
print(el.tag_name) # 标签名称
print(el.size) # 宽高
print(el.rect) # 宽高和坐标
print(el.text) # 文本内容
sleep(2)
self.driver.quit()
def test_webelement_methon(self):
el = self.driver.find_element_by_id('t1')
el.send_keys('hello world')
sleep(2)
# 获得属性值
print(el.get_attribute('type'))
print(el.get_attribute('name'))
print(el.get_attribute('value'))
# css属性值
print(el.value_of_css_property('font'))
print(el.value_of_css_property('color'))
sleep(2)
self.driver.quit()
def test_webelement_methon2(self):
from_element = self.driver.find_element_by_xpath('/html/body/form[1]') #form表单获取xpath,详见截图
from_element.find_element_by_id('t1').send_keys('bala')
sleep(2)
self.driver.quit()
if __name__ == '__main__':
case = TestCase()
# case.test_webelement_prop()
# case.test_webelement_methon()
case.test_webelement_methon2()