【问题标题】:Selector with changing Form IDs具有更改表单 ID 的选择器
【发布时间】:2016-07-25 13:01:56
【问题描述】:

我在选择这个输入表单和 Casperjs 中的提交按钮时遇到了一点问题。

<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 喜欢 ==>

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

不起作用。

【问题讨论】:

    标签: javascript css-selectors casperjs


    【解决方案1】:

    由于 id 总是在变化,您应该使用备用 selector 来定位此元素。您可以使用类、标签名称或它们的组合。

    这个呢:

    .wishname.feedback-panel-trigger.multiReplaceCharsInWishnamelField
    

    或者这个:

    .item.wishname > .input > input
    

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

    【讨论】:

    • @Chrisko 既然这解决了你的问题,你可能想accept 回答。我还注意到您在之前的问题中没有接受很多答案。如果没有足够好的答案,那么这很好,但请再次检查是否有您可以接受的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 2020-09-27
    • 2016-05-02
    • 2015-08-18
    • 1970-01-01
    相关资源
    最近更新 更多