我在选择此输入表单和 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");
不起作用。
最佳答案
由于 ID 始终会更改,因此您应该使用备用 selector来定位这个元素。您可以使用类、标签名称或其组合。
这个怎么样:
.wishname.feedback-panel-trigger.multiReplaceCharsInWishnamelField
或者这个:
.item.wishname > .input > input
如果您有多个具有相同类的项目,您可以尝试迭代以获得正确的项目。
关于javascript - 具有更改表单 ID 的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36428884/