PDA

View Full Version : VBA access embedded window data from html



drimrim
02-27-2017, 10:30 AM
So guys here's my problem,

I wrote a code, which by pressing a button opens a webpage, where you have to login with a username and password. The username and password get filled automatically and it also logins automatically.

Set IE = CreateObject("InternetExplorer.Application")
my_url = "https://portal-energie.de/index.php?r=home/login&language=de"

With IE
.Visible = True
.Navigate my_url
.Top = 50
.Left = 530
.Height = 400
.Width = 400

Do Until Not IE.Busy And IE.ReadyState = 4
DoEvents
Loop
End With

' Input the userid and password
IE.Document.getelementbyid("user").Value = "***x"
IE.Document.getelementbyid("pass").Value = "***xx"
IE.Document.all("submit").Click

Do Until Not IE.Busy And IE.ReadyState = 4
DoEvents
Loop

On the main site now, I want the program to open a sub-page which I did with another button(if someone knows how to implement this in the code above so it presses the button on the page automatically, feel free to change it, but that's a question for another day.)
Set IE = CreateObject("InternetExplorer.Application")
my_url = "https://portal-energie.de/index.php?id=66"

With IE
.Visible = True
.Navigate my_url
.Top = 50
.Left = 530
.Height = 400
.Width = 400

Do Until Not IE.Busy And IE.ReadyState = 4
DoEvents
Loop

Now this table opens up on the webpage, which is a list of customers and their assignment ID's (in german : Auftrag). Clicking on one customer opens a popup-window(it doesn't load another page), where all the information of the contract is loaded with java-script. My problem is that I can't access this information via VBA, because first I don't know how to automatically open these popup-windows and then how to extract the information. Can someone help getting that data into a worksheet? I'll put screenshots of the site and the html code of it in the thread.185011850218503

The HTML-code of the popup window:


<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button class="close" data-dismiss="modal" type="button"><span class="fa fa-times"></span></button>
<h4 class="modal-title" id="myModalLabel"><span class="fa fa-file-text"></span>&nbsp;***xx - ***x- ***x</h4>
</div>
<div class="modal-body">

<ul class="order nav nav-tabs">
<li class="active"><a href="#overview-9000***x" data-toggle="tab">Übersicht</a></li>
<li><a href="#docs-9000***x" data-toggle="tab">Dokumente&nbsp;<span class="badge pull-right">2</span></a></li>
</ul>
<div class="order tab-content">
<div class="tab-pane active" id="overview-9000***x">
<br>
<div class="row">
<div class="col-md-4">
<img src="https://api.eg-on.com/images/provider/***x.png" alt="">
<small>
<table class="table table-striped">
<thead>
<tr>
<th colspan="2">Tarifübersicht</th>
</tr>
</thead>
<tbody>
<tr>
<td>Anbieter</td>
<td>***</td>
</tr>
<tr>
<td>Produkt</td>
<td>***x</td>
</tr>
<tr>
<td>Abnehmer</td>
<td>***</td>
</tr>
<tr>
<td>Tariftyp</td>
<td>***</td>
</tr>

<!--tr>
<td colspan="2">6 Wochen Kündigungsfrist</td>
</tr>
<tr>
<td colspan="2">1 Monat E-Preisgarantie</td>
</tr>
<tr>
<td colspan="2">NaN Monat Vertragslaufzeit</td>
</tr-->
</tbody>
</table>
<table class="table table-striped">
<thead>
<tr>
<th colspan="2">Tarifdaten</th>
</tr>
</thead>
<tbody>
<tr>
<td>Grundpreis</td>
<td>***x</td>
</tr>
<tr>
<td>Arbeitspreis</td>
<td>***x</td>
</tr>
<tr>
<td colspan="2">6 Wochen Kündigungsfrist</td>
</tr>
<tr>
<td colspan="2">24 Monate E-Preisgarantie</td>
</tr>
<tr>
<td colspan="2">24 Monate Vertragslaufzeit</td>
</tr>
</tbody>
</table>
<table class="table table-striped">
<thead>
<tr>
<th colspan="2">Lieferdatum</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">
<div class="form-group">
<select class="form-control" id="reseller-order-date_delivery_type" name="date_delivery_type">
<option value="1" selected="">Lieferdatum ist voraussichtlich</option>
<option value="2">Lieferdatum ist bestätigt</option>
</select>
</div>
<div class="form-group">
<div class="input-group date">
<input value="" id="--date_delivery" class="- form-control" name="date_delivery" placeholder="Lieferdatum" type="text">
<span class="input-group-addon">
<i class="glyphicon glyphicon-th"></i>
</span>
</div>
</div>
<button type="button" class="btn btn-sm btn-primary btn-block" data-target="action:order:setdeliverydate" data-array="{ order_no: 9000***x, sigdate: 'xx', previous_new_entry_to: '0000-00-00' }">
Datum setzen
</button>
</td>
</tr>
</tbody>
</table>
</small>
</div>
<div class="col-md-8">
<!--p><kbd>3100</kbd> - <span style="color:#a8ff00;">An Anbieter übermittelt - </span></p-->
<div class="row">
<div class="col-sm-6">
<h4>Belieferungsanschrift</h4>
<address>
<strong>***xx</strong><br>
***x<br>
***<br>
***x
</address>
<small><address>
<abbr title="Telefon">Tel:</abbr> ***x<br>
<abbr title="Mobil">Mobil:</abbr> ***xx<br>
</address></small>
</div>
<div class="col-sm-6">
<h4>Anschrift des Kontoinhaber</h4>
<address>
<strong>***x</strong><br>
***x<br>
***x<br>
</address>
<small><address>
<abbr title="Konto">Konto:</abbr> ***x<br>
<abbr title="BLZ">BLZ:</abbr> ***(***x)<br>
<abbr title="IBAN">IBAN:</abbr> ***xx<br>
<abbr title="swift">BIC:</abbr> ***x
</address></small>
</div>
</div>
<small>
<table class="table">
<thead>
<tr><th colspan="2">Belieferung</th>
</tr></thead>
<tbody>
<tr>
<td>Auftragsnummer</td>
<td>***x</td>
</tr>
<tr>
<td>Netzbetreiber</td>
<td>***x</td>
</tr>
<tr>
<td>Vorjahresverbrauch</td>
<td>***x</td>
</tr>
<tr>
<td>Status</td>
<td>***x</td>
</tr>
<!-- WECHSEL -->
<tr>
<td>gew. Lieferdatum</td>

<td>***x</td>
</tr>
<tr>
<td>Zählernummer</td>
<td>***xx</td>
</tr>
<tr>
<td>bish. Kundenummer</td>
<td>***x</td>
</tr>
<tr>
<td>Vorversorger</td>
<td>***</td>
</tr>
<tr>
<td>Unterschriftsdatum</td>
<td>***</td>
</tr>
</tbody>
</table>
<table class="table">
<thead>
<tr><th colspan="2">Zusatzinfos</th>
</tr></thead>
<tbody>
<tr>
<td>Zahlung</td>
<td>erfolgt per Bankeinzug</td>
</tr>
</tbody>
</table>
<p class="text-info"><i class="fa fa-info-circle"></i>&nbsp;Die unten angegebene Notiz ist nur für einen Vertriebspartner bearbeitbar.</p>
<textarea class="form-control" name="notice_text"></textarea><br>
<button class="btn btn-block btn-sm btn-primary" data-target="action:order:savenotice" data-array="{ order_no: 9000*** }">Notiz speichern</button>
</small>
</div>
</div>
</div>
<div class="tab-pane" id="docs-9000***xx">
<div class="row">
<div class="col-md-4">
<small>

<table class="table table-striped ">
<thead>
<tr>
<th colspan="2">
<div class="clearfix">
<div class="pull-left">
Dokumente
</div>
<div class="pull-right">
<i class="fa fa-file-text-o"></i>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">
<div class="form-group">
<select class="form-control" id="reseller-order-file_type">
<option value="" selected="">kein Typ gewählt</option>
<option value="contract" disabled="">Antragsformular</option>
<option value="quality_sheet" disabled="">Kundenbelehrung</option>
<option value="other">Sonstige</option>
<option value="special" disabled="">special</option>
</select>
</div>
<input id="reseller-order-file" name="fileToUpload" accept="application/pdf,audio/mp3" type="file"><br>
<button type="button" class="btn btn-sm btn-primary btn-block" data-target="action:order:uploadfile" data-array="{ order_no: 9000*** }">
<span class="fa fa-upload"></span> Dokument hochladen
</button>
</td>
</tr>
</tbody>
</table>

<table class="table table-striped">
<thead>
<tr>
<th colspan="2">
<div class="clearfix">
<div class="pull-left">
Antragsformular generieren
</div>
<div class="pull-right">
<i class="fa fa-file-text-o"></i>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">
<p>Sie können zu diesem Auftrag erneut das Antragsformular mit allen hinterlegten Daten erstellen.</p>
<button type="button" class="btn btn-sm btn-primary btn-block" data-target="action:order:regeneratecontractfile" data-array="{ order_no: 9000***x }">
Antrag generieren
</button>
</td>
</tr>
</tbody>
</table></small>
</div>
<div class="col-md-8">
<br>
<div class="row">
<div class="col-sm-6">
<div class="thumbnail">
<img src="https://portal-energie.de/?eID=egon_client&amp;todo=getOrderDocsData&amp;doc_id=324206" alt="..." height="125">
<div class="caption">
<h3>Vertrags-Scan</h3>
<p>
Vertrags-Scan
</p>
<p>
<a class="btn btn-primary btn-sm" role="button" data-target="action:order:getcontractfile" data-array="{ doc_id: 324206, order_no: 9000***x }">ansehen</a>
</p>
<p>Hinweis: </p>
<div class="clearfix">
<div class="pull-left">
<small><i class="fa fa-upload"></i> ***</small>
</div>
<div class="pull-right">
<small><i class="fa fa-check"></i> xx</small>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="thumbnail">
<img src="https://portal-energie.de/?eID=egon_client&amp;todo=getOrderDocsData&amp;doc_id=324207" alt="..." height="125">
<div class="caption">
<h3>Qualitätsblatt</h3>
<p>
Qualitätsblatt
</p>
<p>
<a class="btn btn-primary btn-sm" role="button" data-target="action:order:getcontractfile" data-array="{ doc_id: 324207, order_no: 9000***x }">ansehen</a>
<a class="btn btn-default btn-sm" role="button" data-target="action:order:deletecontractfile" data-array="{ doc_id: 324207, order_no: 9000*** }">löschen</a>
</p>
<p>Hinweis: </p>
<div class="clearfix">
<div class="pull-left">
<small><i class="fa fa-upload"></i> xx</small>
</div>
<div class="pull-right">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

</div>
</div>
</div>