SwitchWindow,Frame,Alert,我能想到的一切以及经过大量搜索。到目前为止,没有任何工作。
当我点击“编辑”按钮时,会弹出一个新窗口,其中包含文本框,特殊字符选择,保存和退出按钮。我想要做的只是在框中输入文本但由于某种原因webdriver无法找到该元素。
这是一些HTML。该 textarea name =“specHeading” 是我正在尝试编辑的内容。
<script src="/js/componentlist.js" type="text/javascript">
<script src="/js/mrinformation.js" type="text/javascript">
<script src="/js/jquery.resources.js" type="text/javascript">
<script src="/js/validateresources.js" type="text/javascript">
<div class="ckmodal-next" style="top: 9px; left: 1281.5px;"></div>
<div class="ckmodal-prev" style="top: 9px; left: 261.5px;"></div>
<div class="ckmodal-close" style="top: -225px; left: 1239px;"></div>
<div class="ckmodal-background" style="width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; background-color: rgb(51, 51, 51); opacity: 0.8; z-index: 10000000;"></div>
<div class="modal-container" style="opacity: 1; position: fixed; top: -212.5px; left: 321.5px; display: block; z-index: 10000001;">
<form class="form">
<div class="row">
<div class="col24">
<div class="box box-gray">
<h2>
<div class="content">
<fieldset class="full">
<div class="form-field full">
<label>Heading:</label>
<textarea name="specHeading"></textarea>
</div>
<div class="form-field full">
<div class="form-field bottom full">
</fieldset>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</form>
</div>
</body>
</html>
看起来没有可以切换到的窗口,它不是iframe,也不是警报。这就是我认为模态中的JavaScript。
<script src="/js/productheaders.js" type="text/javascript">
;(function($){
var $currentEditHeader = null;
function setupForm(e) {
var $this = $(this),
value = $this.siblings('span').html();
$currentEditHeader = $this.parents('.product-header');
$('#edit-header').ckmodal({
onShow: function(){
$('textarea[name=specHeading]').val(value.replace(/<br\s*[\/]?>/g, '\n')).focus();
}
});
}
function saveHeader(e) {
var $this = $(this),
value = $('textarea[name=specHeading]').last().val();
if ( value == '' ) {
var defaultValue = $currentEditHeader.attr('data-default-value');
$currentEditHeader.children('span').text(defaultValue);
$currentEditHeader.addClass('default');
} else {
$currentEditHeader.children('span').html(value.replace(/<[^>]*>?/g, '').replace(/\n/g, '<br>'));
$currentEditHeader.removeClass('default');
}
答案 0 :(得分:0)
&#34; popup&#34;可能不是一个单独的窗口/框架/警报,而是主页的一部分,它只是可见。 你可以这样对待它。很难说这个摘录。
如果涉及某种动画,您可能必须等待它可见。
此外,在这些文本字段中插入文本存在一些问题。在这种情况下,以下内容对我们有用:
textFieldElement.clear()
textFieldElement.sendKeys()