这是通过find方法找到的页面元素,此对象提供了多种方法,让我们可以与页面元素进行交互,例如点击、清空。
方法
clear()清空
如果当前元素中有文本,则清空文本
click()单击
点击当前元素
get_attribute(name)获取对象属性
获取元素的attribute/property
优先返回完全匹配属性名的值,如果不存在,则返回属性名中包含name的值。
注意:用Xpath查找数据时无法直接获取节点属性
通常在我们使用xpath时,可以使用@class的方式直接获取节点的属性,如下所示:
page.xpath('//div/a/@class')
但在Selenium中不支持这种用法,只能在找到节点后,使用get_attribute(name)方法来获取属性:
page.xpath('//div/a').get_attribute('class')
同样的,Selenium同样不支持Xpath中的string(),text()这类的方法,只能获取元素节点。
screenshot(filename) 获取截图
获取当前元素的截图,保存为png,最好用绝对路径
send_keys(value) 模拟键入元素
给当前元素模拟输入
webelement的此方法在Chrome中应该是有bug,无法使用。
submit()提交表单
提交表单
在页面元素中,同样提供find_elements_by_*等查找方法,可以将查找范围限制到当前元素。
text
获取当前元素(find对象)的文本内容
tag_name
获取当前元素的标签名
size
获取当前元素的大小
screenshot_as_png
将当前元素截屏并保存为png格式的二进制数据
screenshot_as_base64
将当前元素截屏并保存为base64编码的字符串
rect
获取一个包含当前元素大小和位置的字典
parent
获取当前元素的父节点
location
当前元素的位置
id
当前元素的id值,主要用来selenium内部使用,可以用来判断两个元素是否是同一个元素
我们经常需要模拟键盘的输入,当输入普通的值时,在send_keys()方法中传入要输入的字符串就好了。
但是我们有时候会用到一些特殊的按键,这时候就需要用到我们的Keys类。
简例

属性
这个Keys类有很多属性,每个属性对应一个按键。所有的属性如下所示:

网友评论