Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Αυτόματη συμπληρωση στοιχειων και εισοδος σε ιστοσελιδα.

Îåêßíçóå áðü ôï ìÝëïò Giorgos P.. Τελευταία δημοσίευση από το μέλος Giorgos P. στις 30-08-2010, 10:41. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  29-07-2010, 12:03 59564

    Αυτόματη συμπληρωση στοιχειων και εισοδος σε ιστοσελιδα.

    Γεια χαρα.

    Στο πλαισιο αναπτυξης μια μεγαλης χρηματοικονομικης εφαρμογης δινω στον χρηστη την δυνατοτητα να κανει υποβολη δηλωσεων στο Taxis.net.
    Γι'αυτην την δουλεια χρησιμοποιω webrowser control τoυ VS δεν ανοιγω νεο παραθυρο του εκαστοτε browser.

    - Ωστοσο το προβλημα ειναι οτι ενω πχ στην υποβολη Ε σε αυτην την σελιδα https://www.gsis.gr/taxisnet/login.do μπορω να παρω τα textbox του username,password και του login και ετσι να τα συμπληρωσω αυτοματα κανοντας και login

    - Σε αυτην την σελιδα υποβολης του ΦΠΑ https://www.taxisnet.gr/web/default2.html πατωντας το "Χρηστες" το URL παραμενει ιδιο αλλα μου δινει οθονη username/password/login χωρις ωστοσο να μπορω να παρω handle στα κουτια και στο κουμπι εισοδου.

    Δοκιμασα ολους του γνωστους και αγνωστους τροπους, και δεν καταφερνω ουτε καν να κανω list τα object της σελιδας, μελετωντας τον κωδικα της καταλαβαινω οτι δεν ειναι html αλλα script και το cfm εχει σχεση με Cold Fusion αλλα επειδη δεν γνωριζω πολλα απο σελιδες ισως να λεω και οτι να'ναι.

    Υπαρχει καποιος τροπος να παρω προσβαση στα κουτια ωστε να μπορω να δωσω προγραμματιστικα τα στοιχεια εισοδου?

    Ευχαριστώ.
    Δημοσίευση στην κατηγορία: , , , ,
  •  30-07-2010, 14:51 59583 σε απάντηση της 59564

    Απ: Αυτόματη συμπληρωση στοιχειων και εισοδος σε ιστοσελιδα.

    Καλησπέρα,

    Ναι υπάρχει αυτή η δυνατότητα που ζητάς: Μπορείς να ξεκινήσεις την αναζήτησή σου από το MSDN Library. Αυτό που σε ενδιαφέρει συνοψίζεται στην παρακάτω παράγραφο (από το MSDN Library)

    You can also manipulate the contents of a Web page through the Document property, which contains an HtmlDocument object that provides managed access to the HTML document object model (DOM) for the current page. This property is useful, when used in combination with the ObjectForScripting property, to implement two-way communication between your application code and dynamic HTML (DHTML) code in a Web page, letting you combine Web-based controls and Windows Forms controls in a single user interface. You can use the Document property to call scripting code methods from your application. Your scripting code can access your application through the window.external object, which is a built-in DOM object provided for host access, and which maps to the object that you specify for the ObjectForScripting property.

    Με απλά λόγια, μπορείς να έχεις πρόσβαση στο DOM του εγγράφου, οπότε να το διαβάζεις/γράφεις τιμές σε HTML controls μέσα σε μια σελίδα είναι απλό...

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  03-08-2010, 11:47 59606 σε απάντηση της 59583

    Απ: Αυτόματη συμπληρωση στοιχειων και εισοδος σε ιστοσελιδα.

    Ευχαριστω αλλα αυτο το γνωριζα, το θεμα ειναι οτι δεν μπορω να κανω listing τα Objects της σελιδας με κανενα τροπο.
    Ουτε με getElementID, ουτε me name ουτε με τιποτα.
    Ενω κανω inspect το element το οποιο ειναι ξεκαθαρο οτι εχει id username η μεθοδος WebBrowser1.Document.GetElementById("usename").InnerText = "TEST" δεν δινει κατι.
  •  11-08-2010, 14:25 59657 σε απάντηση της 59606

    Απ: Αυτόματη συμπληρωση στοιχειων και εισοδος σε ιστοσελιδα.

    Αυτό συμβαίνει διότι η σελίδα για το ΦΠΑ σε πάει σε σελίδα με frames. Το frame με όνομα "screen" είναι αυτό που σε ενδιαφέρει. Μπορείς πολύ εύκολα να το δεις και να δεις και το src του από το firebug plugin του firefox. Το περίεργο όμως είναι πως αν εκτυπώσεις μέσα από το webbrowser1 το body innerhtml του frame δε θα δείξει όλο το src αλλά μόνο το JS section:

    HtmlWindow frame = webBrowser1.Document.Window.Frames["screen"];
    MessageBox.Show(frame.Document.Body.InnerHtml);

    και εκτυπώνει:

    <script language="JavaScript">
    var check=(document.layers&&window.innerWidth==0)?0:1;
    if((((top.location.href!='https://www.taxisnet.gr/web/') && (top.location.href!='https://www.taxisnet.gr/web/default1.html') && (top.location.href!='https://www.taxisnet.gr/web/default2.html'))&&check==1)&&(top.location.href!='https://www.taxisnet.gr/web/default.html'&&check==1)&&(top.location.href!='https://www.taxisnet.gr/web/invaliduser.cfm'&&check==1))top.location.href = 'https://www.taxisnet.gr/web/';
    setInterval("x()",10);
    function x(){window.status="ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΚΩΝ - TAXISnet"}
    </script>
    οπότε και πάλι δε μπορείς να πάρεις το "username" HtmlElement.
  •  30-08-2010, 10:41 59831 σε απάντηση της 59657

    Απ: Αυτόματη συμπληρωση στοιχειων και εισοδος σε ιστοσελιδα.

    Ναι ακριβως.
    Δηλαδη ενδεχομενως να μην μπορει να γινει αυτο που προσπαθω να κανω λογω κατασκευης της σελιδας?

    UPDATE Βρηκα τροπο να παω τουλαχιστον στο login με την μεθοδο των Sendkeys.
    Δινω TAB μεχρι να παει στο "Χρηστες" και μετα δινω "ENTER", ευκολη λυση αλλα μου διεφυγε, τωρα μενει το πως να δωσω τα username/password στα αντιστοιχα boxes , συνεχιζω να μην μπορω να τα παρω με tagname η id.

    Χρειαζομαι ιδεες :D

    UPDATE2: Οκ το βρηκα.
    Ηθελε να παρω προσβαση ιεραρχικα απο το frame στο element και με set attr να του δωσω τιμη.
    wb.Document.Window.Frames("screen").Document.All.GetElementsByName("username")(0).SetAttribute("value", "μπλαμπλα")


Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems