有没有办法打印有关网络元素的所有信息?
当我在通过find_element_by_css_selector()
检索到的网页元素上调用打印件时,我会获得内部ID和另一个参考编号,但不是所有属性。
例如,我想知道类名,源和alt,如果它是图像;标签,如果它是一个按钮等等。
我确实使用过get_attribute()
;但如果你不知道属性的名称那就没用了;如果属性不存在,它只返回空,我需要检查一个元素以了解它具有哪些属性。
有没有办法从webelement获取这些属性?
答案 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'}