Мой html выглядит так:
<div class="row">
<div class="col-md-7">
<ul class="breadcrumb">
<li id="get_data"><a href="#">Get data</a></li>
<li id="sampling_task"><a href="#">Sampling</a></li>
<li id="confirm_task"><a href="#">Confirmation</a></li>
</ul>
<div class="container-fluid">
<form action="#" method="post" enctype="multipart/form-data" role="form" class="form-horizontal">
{% csrf_token %}
<div class="form-group">
<label for="id_fileA" class="col-sm-3 control-label" style="text-align: left">
Select dataset A<span class='required_label'>*</span>
</label>
<div class="col-sm-9">
{{ form.fileA|attr:"class:form-control" }}
</div>
</div>
<div class="form-group"></div>
<div class="form-group">
<label for="id_fileB" class="col-sm-3 control-label" style="text-align: left">
Select dataset B<span class='required_label'>*</span>
</label>
<div class="col-sm-9">
{{ form.fileB|attr:"class:form-control" }}
</div>
</div>
<div class="form-group"></div>
<div class="form-group" id="sample_btn" style="display: none">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-9">
<input type="button" name="theButton" id="sample-step" value="Start Sampling" class="btn btn-success btn-large disabled" style="border-radius: 5px;">
</div>
</div>
<div class="form-group">
<div class="col-sm-9 col-sm-offset-3" id="sample_msg" style="display: none;">
<p id="sample_text" style="font-size: medium">
Some ABCD message
</p>
</div>
</div>
<div class="form-group">
<div class="col-sm-9 col-sm-offset-3" id="get_sample_confirm_msg" style="display: none;">
<p>
<input type="button" style="height: 40px; width: 140px; border-radius: 5px" name="YesButton" id="accept-step" value="Accept & Continue" class="btn btn-success disabled">
<input type="button" style="height: 40px; width: 140px; border-radius: 5px" name="NoButton" id="cancel-step" value="Cancel Sampling" class="btn btn-danger disabled">
</p>
</div>
</div>
</form>
</div>
</div>
<div class="col-md-5">
</div>
</div>
Бэкэнд представляет собой javascript, и при нажатии кнопки он выполняет обработку, и если что-то не получается, код javascript обновляет сообщение.
var error = "<div class='alert alert-danger'><p>We encountered an error while sampling: <br /><strong>Sampling failed!!</strong></p>"; error += "<p>Please <a href='mailto:abcd@gmail.com'>contact us</a> if this error persists.</p>";
error += "</div>";
$('#sample_msg').html(error);
Теперь в моем коде селена, если я сделаю это:
sample_msg = self.driver.find_element_by_id('sample_msg')
Я получаю пустой список. Что я хочу сделать, так это прочитать ошибку в классе «sample_msg», если таковая имеется, и я пробовал несколько вещей, но это не сработало. Помощь приветствуется. Спасибо.
Не могли бы вы рассказать немного о "Я получаю пустой список результатов"?
find_element_by_id()
обычно возвращает WebElement илиNoSuchElementException
, если элемент не найден, но никогда не возвращает пустой/непустой список