• Property和Attribute的区别


    这个标题可能具有一定的误导性,我本意是想澄清下webdriver里的get_attribute()和get_property()的区别。但是webdriver本身也是基于HTML和Javascript的DOM树来进行操作和互动的,所以我索性就用了现在的标题。

    • Attribute

           Attributes针对HTM代码而言。  我们可以为一个HTML元素,添加一些属性。这些在HTML里定义的HTML元素的属性就是Attribute。通常以‘名称=“值”’的形式出现。比如:

    <input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

        例中,type,class,name, id, maxlength, autocomplete就是attributes。

    • Property

           Proprty针对DOM结点而言。Property其实就JS对象的属性,我们可以通过dir()方法去查看该JS对象所有支持的Properties。

           

    我曾经试图找出列有所有支持的Properties的文档,但总是发现搜索到的Properties似乎也不是全部。无奈之下,只能使用JS的dir()方法,期望可以尽可能的发现所有的Properties。但是实在太多,我们也只能过一下常见的。

    accessKey

    autocomplete

    autofocus

    checked

    childElementCount

    className

    disabled

    draggable

    height

    width

    hidden

    id

    innerHTML

    innerText

    lang

    name

    outHTML

    outerText

    placeholder

    requred

    readOnly

    size

    src

    tagName

    title

    type

    textContent

    value

    style

    上面是我列举的一些我认为日常可能会用到的properties。细心的同学可能就会发现properties里有一些属性其实是和attributes是重合的。这其实很正常,因为DOM本来就是根据HTML文件生成的,自然会具备HTML元素的一些属性。

    那么我们回来在聊一下webdriver里的get_attribute()和get_property()的区别。

    • get_attribute()

          首先试图返回指定attribute的值;如果该attribute也不存在,则返回None。

    • get_property()

           返回元素的指定property的值;如果该property不存在,则返回None。

  • 相关阅读:
    如果看待程序员不写注释
    django中导出csv文件
    SpringBoot热部署
    【WGS84坐标系】经纬度高度转换为WGS84坐标系对应的坐标值
    multiprocessing.pool详解
    聊一聊的有限状态机
    企业怎么优化固定资产管理
    【新版Bing】集成chatGpt4的搜索引擎
    【双目视觉】 SGBM算法应用(Python版)
    dpdk-19.11 中 simd 指令使用现状分析
  • 原文地址:https://blog.csdn.net/JZF2050/article/details/127714260