Python Selenium - 检索有关webelement的信息

时间:2017-02-17 00:06:41

标签: python selenium

有没有办法打印有关网络元素的所有信息?

当我在通过find_element_by_css_selector()检索到的网页元素上调用打印件时,我会获得内部ID和另一个参考编号,但不是所有属性。

例如,我想知道类名,源和alt,如果它是图像;标签,如果它是一个按钮等等。

我确实使用过get_attribute();但如果你不知道属性的名称那就没用了;如果属性不存在,它只返回空,我需要检查一个元素以了解它具有哪些属性。

有没有办法从webelement获取这些属性?

1 个答案:

答案 0 :(得分:0)

你不能直接,你需要执行Javascript。请参阅Selenium webdriver get all the data attributes of an element

在python中,它就像:

 >>> el = browser.find_element_by_id('my_element')
 >>> attrs = browser.execute_script("var items = {}; for (index=0; index<arguments[0].attributes.length;++index) {items[arguments[0].attributes[index].name] = arguments[0].attributes[index].value }; return items;", el)
 >>> print attrs
 {'class': 'my_class', 'name': 'foobar'}