Page
类相当于测试的页面,Element
类相当于一个元素,Elements
类相当于一群元素。
from poium import Page, Element
class BaiduPage(Page):
input = Element(id_="kw", timeout=1, index=0, describe="搜索输入框")
button = Element(id_="su", timeout=1, index=0, describe="搜索按钮")
results = Elements(xpath="//div/h3/a", describe="搜索结果")
Page
类。Element
类定义元素。Element
类参数# selenium
css = "xx"
id_ = "xx"
name = "xx"
xpath = "xx"
link_text = "xx"
partial_link_text = "xx"
tag = "xx"
class_name = "xx"
# appium
ios_uiautomation = "xx"
ios_predicate = "xx"
ios_class_chain = "xx"
android_uiautomator = "xx"
android_viewtag = "xx"
android_data_matcher = "xx"
android_view_matcher = "xx"
windows_uiautomation = "xx"
accessibility_id = "xx"
image = "xx"
custom = "xx"
timeout
: 设置超时检查次数,默认为 5
。index
: 设置元素索引,当你的定位方式默认匹配到多个元素时,默认返回第 1 个,即为 0
。describe
: 设置元素描述,默认为 undefined
, 建议为每个元素增加描述。Element
类方法page.elem.clear() # 清空内容
page.elem.send_keys(value) # 输入内容
page.elem.click() # 单击
page.elem.submit() # 提交表单
page.elem.tag_name # 标签名
page.elem.text # 元素文本
page.elem.size # 尺寸
page.elem.get_property(name) # 元素属性
page.elem.get_attribute(name) # 元素参数
page.elem.is_displayed() # 是否显示
page.elem.is_selected() # 是否选中
page.elem.is_enabled() # 是否启用
page.elem.switch_to_frame() # 切换到该框架(Selenium)
page.elem.move_to_element() # 将鼠标放到该元素中间(Selenium)
page.elem.click_and_hold() # 左键按住该元素(Selenium)
page.elem.double_click() # 双击(Selenium)
page.elem.context_click() # 右击(Selenium)
page.elem.drag_and_drop_by_offset(x, y) # 左键拖动元素若干距离,松开(Selenium)
page.elem.refresh_element(timeout=10) # 刷新页面,重新获取元素(Selenium)
select
下拉操作page.elem.select_by_value(value) # 根据 value 值选择项(Selenium)
page.elem.select_by_index(index) # 根据 index 属性选择项(Selenium)
page.elem.select_by_visible_text(text) # 根据显示文本选择项(Selenium)
page.elem.set_text(keys) # 输入文本(appium)
page.elem.location_in_view # 返回字典,表示相对于视图的位置(appium)
page.elem.set_value(value) # 设置值(appium)
page.elem.input(text="")
page.elem.enter()
page.elem.select_all()
page.elem.cut()
page.elem.copy()
page.elem.paste()
page.elem.backspace()
page.elem.delete()
page.elem.tab()
page.elem.space()
Elements
类返回一个列表,列表中每一项都是 Selenium 的页面元素对象。