Python使用Selenium定位WebElement后如何查询其全部可用属性列表?
Selenium WebElement 可获取属性说明
Selenium没有固定的全量可获取属性列表,能拿到的属性分为两类:HTML元素自带属性、Selenium内置的元素属性/方法。
1. HTML元素自带属性
所有HTML标准属性、页面自定义属性都可以通过get_attribute()方法获取,常见属性包括:
- 基础通用属性:
id、class、name、style、title、href、src、type、placeholder - 表单专属属性:
value、checked、selected、disabled、readonly - 特殊合成属性:
innerHTML、outerHTML、innerText、textContent
注意:属性名不区分大小写,布尔类型属性(如checked)如果存在会返回对应布尔值,不存在则返回None。你示例中的get_attrubite为拼写错误,正确写法是get_attribute
如果需要查看当前元素的所有可用属性,可以执行以下JS脚本直接导出所有属性字典:
element = driver.find_element_by_class_name("someclass") # 获取元素全部属性 all_attrs = driver.execute_script(''' var attrMap = {}; for(var i = 0; i < arguments[0].attributes.length; i++) { attrMap[arguments[0].attributes[i].name] = arguments[0].attributes[i].value; } return attrMap; ''', element) print(all_attrs)
2. Selenium WebElement 内置属性/方法
不需要调用get_attribute(),直接通过元素对象即可访问的常用属性:
text:获取元素可见文本内容,效果和innerText相近tag_name:获取元素的标签名,如div、inputsize:返回元素宽高字典,格式为{"height": 数值, "width": 数值}location:返回元素左上角坐标字典,格式为{"x": 数值, "y": 数值}rect:返回包含元素位置、宽高的完整信息字典parent:返回当前元素所属的WebDriver实例
常用判断类方法:
is_enabled():判断元素是否可交互is_displayed():判断元素是否在页面上可见is_selected():判断单选框、复选框、下拉选项是否被选中
内容的提问来源于stack exchange,提问作者Sahin
相关产品推荐
相关产品推荐

