代码之家  ›  专栏  ›  技术社区  ›  swapfile

更改表单ID的选择器

  •  0
  • swapfile  · 技术社区  · 8 年前

    我有一个小问题,选择这个输入表单和Casperjs中的Submit按钮。

    <div id="id1d9" style="display:none"></div>
        <div class="item wishname" id="id1da">
        <!-- <div class="item wishname">-->
        <label id="id1db" for="id1a0">
            E-Mail-Wunschname
        </label>
    
        <div class="input" id="id1a1">
            <input class="wishname feedback-panel-trigger multiReplaceCharsInWishnamelField" autocomplete="off" maxlength="40" value="" name="wishnamePanel:wishname:subForm:alias" id="id1a0" type="text">
    
                <span class="btn-positioner">
                    <span class="btn-wrapper btn-m btn-key">
                        <input name="wishnamePanel:wishname:subForm:checkAvailability" id="checkAvailabilityBtn" value="Prüfen" type="submit">
                    </span>
                </span>
    

    主要的问题是,div的id在每次随机重新加载时都会发生变化。所以casperjs-like==>

    this.sendKeys('#id1a0 ',"Test String");
    

    不起作用。

    1 回复  |  直到 8 年前
        1
  •  3
  •   Artjom B.    8 年前

    由于id总是会更改,所以应该使用替代项 selector 以瞄准此元素。您可以使用类、标记名或它们的组合。

    这个怎么样:

    .wishname.feedback-panel-trigger.multiReplaceCharsInWishnamelField
    

    或者这样:

    .item.wishname > .input > input
    

    如果您有多个具有相同类的项,可以尝试迭代以获得正确的项。