• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Brauche dringend Hilfe zum Thema CSS selector

ozolic

Neues Mitglied
Hallo alle zusammen ich hab da ein Programm welches Winautomation heißt, möchte gern dem aktuellen Auftrag eine Automatisierung einstellen. Unter der eigenen Funktion (Click link on Webpage) die es selbst bereitstellt, gibt es die Möglichkeit CSS Selectors einzubinden, um der Funktion damit vorzugeben wo es denn zu Klicken hat.
Mein Problem, ist es jetzt diesen Selector so hinzubekommen wie ich ihn brauche.
Ich extrahiere irgendwann vor dem „klicken“ Auftrag gewisse Text-Values, wie zum Beispiel das Datum einer Mail, jetzt möchte ich dieses Datum als Hauptattribut festlegen für den CSS Selector, und der sollte meinem Programm endlich das genaue Klicken auf diesen Link einbläuen :D wenn dies überhaupt möglich ist. Im Anhang mal die Seitenstruktur und das Datum
Vielen Dank schon mal im Voraus
CSS-Selector.jpg
 
Ich kenne dieses Programm nicht. Was für eine Tabelle ist das? Und ist das von dir unterstrichene Datum wirklich anklickbar?
 
Hallo, ja das Datum befindet sich in einer Tabelle auf der Webseite die ich gern Automatisieren will, td class ist auf read und clickable gestellt dies ist alles anklickbar, man kommt dann auf die gewünschte Email ob man nun auf betreff, Text-Vorschau oder Datum klickt, ich benötige den Weg über das Datum um auch meine Auswahl zu treffen ob die Mail alt genug ist zur Beantwortung.
das Programm Winautomation ist nicht ganz so neu ist aber eine klasse Lösung um etwas zu automatisieren, ist der CSS Selektor möglich für die Datenstruktur die ich angehängt habe???
 
Verstehe. Wenn Du also die anklickbaren Bereiche formatieren willst, müsstest Du evtl.

Code:
.clickable { background-color: red; }

verwenden. Also direkt die Klasse "clickable" per CSS ansprechen.

Ich nehme an, dass die Klasse "clickable" von irgendeinem JavaScript verwendet wird um sie anklickbar zu machen. Falls das der Fall ist, könnte es sein, dass der HTML-Code durch dieses JavaScript bearbeitet wird. In dem Fall müsstest Du (z.B. im Firebug) schauen was für HTML-Code tatsächlich für die Verlinkung zuständig ist und dieses per CSS ansprechen.
 
Hi vielleicht hätte ich erwähnen sollen, dass ich noch relativ ein Greenhorn bin was CSS Selector angeht, hab jetzt grad mal 3 Tage Lesen, Recherche und so weiter hinter mir. ich bräuchte wirklich paar Beispiele, wäre unheimlich dankbar für lesbare Beispiele wo ich auch was lernen kann ich tappe fast im Dunkeln

und was mir nicht eingehen möchte ist, wo hatte ich oben background-color: red drinnen??
dies ist der Javascript Text der sich auf den nachrichten Bereich bezieht!

<script type="text/javascript">
$(document).ready(function(){
var pageload_count = 0;
var load_pending = false;
/*
setTimeout(function(){
if ( !pageload_count )
{
var report = {
'history': {
'type': $.history.type
},
'navigator': {
'userAgent': navigator.userAgent
},
'plugins': []
};

for (i = 0; i < navigator.plugins.length; i++)
{
report.plugins = {
'name': navigator.plugins.name,
'description': navigator.plugins.description
};
}
$.post('/report', report);
}
}, 500);
*/

function pageload(anchor)
{
pageload_count++;
load_pending = false;
var page = 1;
if (!anchor)
anchor = 'inbox';

var target = anchor.split('|');
var hash = target[0];

$('.tabs a').each(function(){
var href = $(this).attr('href');

if ( '#'+hash == href )
$(this).removeClass('off').addClass('on');
else
$(this).removeClass('on').addClass('off');
});

if (hash == 'inbox')
{
$('#msg-list-inbox').show();
$('#msg-list-sent').hide();
$('#msg-list-texts').hide();
$('#msg-read').hide();
if (target[1])
page = target[1];
var f1 = target[2] ? target[2] : 0;
var f2 = target[3] ? target[3] : 0;
var f3 = target[4] ? target[4] : 0;
loadHeaders('inbox', page, f1, f2, f3);
}
else if (hash == 'sent')
{
$('#msg-list-inbox').hide();
$('#msg-list-sent').show();
$('#msg-list-texts').hide();
$('#msg-read').hide();
if (target[1])
page = target[1];
var f1 = target[2] ? target[2] : 0;
var f2 = target[3] ? target[3] : 0;
var f3 = target[4] ? target[4] : 0;
loadHeaders('sent', page, f1, f2, f3);
}
else if (hash == 'message')
{
$('#msg-list-inbox').hide();
$('#msg-list-sent').hide();
$('#msg-list-texts').hide();
$('#msg-read').show();
loadMessage(target[1], target[2]);
}
else if (hash == 'texts')
{
$('#msg-list-inbox').hide();
$('#msg-list-sent').hide();
$('#msg-list-texts').show();
$('#msg-read').hide();

$('#msg-list-texts').load('index_texts', '', function(){
var editor = $(this).find('form textarea').rte({
width: 585,
height: 178,
controls_rte: rte_msgtb
});

var form = $(this).find('form');

$(this).find('table.table a.delete').click(function(){
$(this).blur();
if (confirm('Wirklich löschen?'))
{
var id = $(this).attr('rel');
$.post('index_texts', { 'act' : 'del', 'id': id }, function(response){
if (parseInt(response) == 1)
pageload( hash );
});
}
});
$(this).find('table.table a.edit').click(function(){
$(this).blur();
form.show();

var rel = $(this).attr('rel');
var params = { act: 'text', id: rel };
form.find('input[name=id]').val( rel );

$.get('/msg/ajaxform', params, function(response){
editor[0].set_content(response);
});
});
form.submit(function(){
var message = editor[0].get_content();
var id = form.find('input[name=id]').val();

$.post('index_texts', { 'act' : 'new', 'message': message, 'id': id }, function(response){
if (parseInt(response) == 1)
pageload( hash );
});
return false;
});
});

}

}

$('.tabs a').click(function(){
$(this).blur();
});


loadHeaders = function(folder, page, f1, f2, f3){
var clicked = $('#tab-'+folder);
var clickedList = $('#msg-list-'+clicked.attr('id').split('-')[1]);

var container = $('#msg-list-'+folder);
container.find('form[name=msglist]').each(function(){
var h = $(this).height();
$(this).height(h).html('').addClass('loader1');
});
$.get('index_list?folder='+folder+'&page='+page+'&f1='+f1+'&f2='+f2+'&f3='+f3, function(response){
container.show().html(response);
container.find('.userlink').userTooltip();
container.find('.prune').click(function(){
Boxy.ask('Soll der Postausgang wirklich geleert werden?', {"Y":"Ja, leeren", "N":"Abbruch"}, function(r){
if (r == "Y")
{
var b = new Boxy('<div>Bitte warten...</div>', { modal: true, unloadOnHide: true, afterShow: function(){
$.get('prune_sent', function(){
loadHeaders(folder, 1, f1, f2, f3);
b.hide();
});
} } );
}
});
});

container.find('form[name=filter]').submit(function(){
var f1 = container.find('select[name=f1]').val();
var f2 = container.find('select[name=f2]').val();
var f3 = container.find('select[name=f3]').val();

var url = '#' + folder + '|1|' + f1 + '|' + f2 + '|' + f3
window.location.href = url;

//loadHeaders(folder, 1, f1, f2, f3);
return false;
});

container.find('tbody tr td a.delete').each(function(){
$(this).click(function(){
$(this).blur();
if ($(this).parent().hasClass('unread'))
{
alert('Ungelesene Nachrichten dürfen nicht ausgeblendet werden.');
}
else
{
if (confirm('Soll die Nachricht wirklich ausgeblendet werden?'))
{
var row = $(this).closest('tr');
var id = row.attr('id').split('-')[1];
$.post('index_load', { 'act' : 'del', 'msg[]' : id }, function(){
//clicked.click();
row.remove();
});
}
}
});
});
container.find('td input[type=checkbox]').change(function(){
var checked_count = 0;
container.find('td input[type=checkbox]:checked').each(function(){
checked_count++;
});
if (checked_count > 0)
container.find('.delete-selected').closest('tr').show();
else
container.find('.delete-selected').closest('tr').hide();
});
container.find('#toggle-check').change(function(){
//var enabled = $(this).prop('checked');
var enabled = this.checked;
$(this).closest('table').find('td input[type=checkbox]').each(function(){
if (enabled && !this.checked )
{
$(this).attr('checked', 'checked');
$(this).change();
}
else if (!enabled && this.checked)
{
$(this).attr('checked', '');
$(this).change();
}
});
});
container.find('.delete-selected').click(function(){
if (confirm('Sollen die markierten Nachrichten wirklich ausgeblendet werden?'))
{
var params = 'act=del&'+container.find('form').serialize();
$.post('index_load', params, function(){
container.find('td input[type=checkbox]:checked').each(function(){
$(this).closest('tr').remove();
});
window.setTimeout(function(){
loadHeaders(folder, page);
}, 1000);
});
}
});
/*
container.find('.pagectl a').each(function(){
$(this).click(function(){
var temp = $(this).attr('href').split('|')[1];
page = temp;
loadHeaders(folder, page, f1, f2, f3);
});
});*/
container.find('tbody tr .clickable').each(function(){
$(this).click(function(){
var clickedRow = $(this).closest('tr');
//clickedList.hide();
var temp = clickedRow.attr('id').split('-');
var messageId = temp[1];
var threadId = temp[2] ? temp[2] : messageId;
load_pending = true;
window.location.href = '#message|'+messageId+'|'+threadId;
setTimeout(function(){
if (load_pending) {
jQuery.post('/debuglog', {log: 'Ladevorgang wurde nicht ausgeführt!'});
}
}, 1000);
});
});
});
}
 
Zuletzt bearbeitet:
hier noch der Zweite Teil der passte da nicht rein

loadMessage = function(messageId, threadId){
var div = $('#msg-read');
var h = div.height();
if (h < 300) h = 300;
div.html('').css('min-height', h+'px').addClass('loader1');

$('#msg-read').load('index_load?messageId='+messageId+'&threadId='+threadId, '', function(){
div.removeClass('loader1').css('min-height', null);
$('#msg-read').show();
$('#msg-read').find('.userlink').userTooltip();

$('#msg-note a').click(function(){
var form = $(this).parent().find('form');
form.show();
form.find('textarea').focus();
$(this).remove();
});

$('#msg-note textarea').keyup(function(){
$(this).parent().find('input[type=submit]:hidden').show();
});

$('#msg-note form').submit(function(){
var params = $(this).serializeArray();
$(this).find('input[type=submit]').hide();
$.post('note_save', params);
return false;
});

$('.msg-read-att div.entry a').click(function(){
var link = $(this);
var entryDiv = $(this).closest('div.entry');
var href = $(this).attr('href');

if ( entryDiv.hasClass('locked') )
{
var coins = parseInt( $(this).closest('div.msg-read-att').attr('title') );
Boxy.ask('Die Anhänge der Nachricht kosten '+coins+' Coins. Wirklich öffnen?', {"Y":"Ja, Coins bezahlen", "N":"Abbruch"}, function(r){
if (r == "Y")
{
var mid = entryDiv.closest('div.msg').attr('id').split('-')[1];
$.get("att_buy", { messageId: mid }, function(response){
if (response)
{
alert(response);
}
else
{
entryDiv.closest('div.msg-read-att').find('div.entry').removeClass('locked');
link.click();
}
});
}
});
}
else
{
if ($(this).hasClass('view'))
{
b = new Boxy('<div class="loader1" style="width: 100px; height: 100px;"></div>', { modal: true, title: '&nbsp;', unloadOnHide: true, afterShow: function(){
var img = new Image();
$(img).load(function(){
b.setContent( $(img) );
var width = $(this).width();
var height = $(this).height();

if (height + 50 > window.innerHeight)
{
var ratio = width / height;
var nHeight = window.innerHeight - 50;
var nWidth = Math.floor(nHeight * ratio);
$(this).width(nWidth);
$(this).height(nHeight);
}
b.center();
});
$(img).attr('src', href);
$(img).click(function(){
b.hideAndUnload();
});
} } );
}
else if ($(this).hasClass('download'))
{
window.location.href = href;
}
}
return false;
});
/*
$('.msg-read-att div.entry a:first-child').click(function(){
return false;
});*/

loadHistory = function(param){
$('#msg-read-history').html('').height(200).addClass('loader1');
$.get('index_history'+param, function(response){
$('#msg-read-history').removeClass('loader1').css('height', null).html( response );
$('#msg-read-history .pagectl a').click(function(){
var param = $(this).attr('href');
loadHistory(param);
return false;
});
});

}

$('#msg-read input.history').click(function(){
var param = $(this).attr('rel');
loadHistory(param);
});

$('#msg-read input.reply').click(function(){
var temp = $(this).attr('rel').split('=')[1];
msgClick({
threadId: temp,
container: 'msg-reply',
onSend: function(){
$('#msg-read-conv').load('index_load?reload=1&messageId='+messageId+'&threadId='+threadId);
}
});
});

$('#msg-read div.msg h3 a.peach').click(function(){
var link = $(this);
Boxy.ask('Enhält die Nachricht Werbung? Hat der Absender der Nachricht dir gedroht, etwas anderes ungesetzliches getan/angekündigt oder gegen die Nutzungsbedingungen verstoßen?',
{"Y":"Diese Nachricht dem Support melden", "N":"Abbruch"}, function(r){
if (r == "Y")
{
var mid = link.attr('rel');
$.post("peach", { messageId: mid }, function(response){
alert('Vielen Dank. Die Nachricht wurde dem Support gemeldet.');
});
}
});
});
$('#msg-read div.msg h3 a.peach').tooltip({
tip: '#tooltip1',
position: "top center",
offset: [-10, 0]
});
});
}
$.history.init(pageload);
// pageload();


});
</script>
 
Die Farbangabe in meinem Beispiel ist nur ein Beispiel. Das soll als Vorlage für das dienen was Du angeben müsstest um Elemente mit der Klasse "clickable" farblich oder anderweitig zu gestalten. In deinem JavaScript-Code sehe ich nicht, dass der HTML-Code durch JavaScript geändert werden würde. Daher würde mein Beispiel ausreichen, wenn Du es in deinen CSS-Code einbaust.

Und verwende bitte Code-Tags wenn Du im Forum Quellcode zeigst.
 
Zurück
Oben