myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Web-Technologien » Link aus IFrame auswählen und anklicken
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Link aus IFrame auswählen und anklicken

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Speedgaming Speedgaming ist männlich
myCSharp.de-Mitglied

Dabei seit: 05.12.2019
Beiträge: 4
Entwicklungsumgebung: Visual Studio


Speedgaming ist offline

Link aus IFrame auswählen und anklicken

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,
ich schreibe ein Programm um den Internetexplorer zu steuern. Funktioniert soweit auch ganz gut.

Jetzt suche ich nach einer Methode Links in einem IFrame zu finden/Anzuklicken
das habe ich mit VBA geschafft, allerdings weiß ich nicht, wie ich es nach c# umsetzen soll.

Ich starte einen neuen Browser und navigiere zur URL;

mit:

wb.document.USER.value = "Username";
wb.document.PASSWORD.value = "Password";

Fülle ich die Felder und hole mir dann das Element vom Loginbutton.
Nach dem Login gibt es ein Eingabe Feld, wenn ich das Fülle, erscheint ein IFrame mit je nach Eingabe verschiedener Anzahl an Links.
Ich habe mit der URL von dem Javascript bereits auslesen können, welchen Link ich benötige.
Aber ich schaffe es nicht ihn anzuwählen.
Mit VBA habe ich es das geschafft. So sieht der Befehl in VBA aus:

Call IEDocument.iframe.execScript("Choose('Objektnummer,Referenznummer')", "JavaScript")


und mit

C#-Code:
var mydoc = wb.document;
var links = mydoc.links;
for each ((HTMLELEMENT)link in links)...

bekomme ich die Links die sich auf der Website befinden, aber nicht die in dem IFrame

Habe die Suche bereits bemüht, bekomme da ähnliche Vorschläge wie oben und komme nie auf den Iframe

Hier ist der iframe code:
<tr> <td colspan='2' nowrap="nowrap"> <a href="java script:choose('Objektnummer, Referenznummer')">Objektname</a> </td> </tr>
<tr> <td colspan='2' nowrap="nowrap"> <a href="java script:choose('Objektnummer2, Referenznummer2')">Objektname2</a> </td> </tr>

Hoffe ich konnte meine Frage verständlich formulieren, wenn nicht mach ich noch ein Beispielbild rein
Vielen Dank im Voraus

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Speedgaming am 05.12.2019 21:40.

05.12.2019 20:08 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.181
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Willkommen.

Es ist nicht sinn der Sache, dass Du seitenweise HTML Code postest in evtl. der Hoffnung, dass wir Dir den Code schreiben - das wird nicht passieren :-)
Daher habe ich die Unmengen aus HTML auch im Sinne von  [Hinweis] Wie poste ich richtig? entfernt.

Du wirst mit C# (respektive .NET als Runtime) den Browser nicht (so einfach) "steuern" oder einen "Link auswählen" können.
Im Gegensatz zu VBA (durch ActiveX) gibt es hierfür keine Unterstützung im IE.

Im .NET Framework gibt es ein sehr gut dokumentiertes WebBrowser-Control, das auf dem IE7 basiert und dahingehend sehr sehr alt ist.
Mit CefSharp hättest Du eine Chrome Engine.

Wenn Du einen solchen Automatismus willst, dann musst Du Dir C# beibringen und quasi selbst das Verhalten eines Browsers nachprogrammieren müssen.
05.12.2019 21:25 Beiträge des Benutzers | zu Buddylist hinzufügen
Speedgaming Speedgaming ist männlich
myCSharp.de-Mitglied

Dabei seit: 05.12.2019
Beiträge: 4
Entwicklungsumgebung: Visual Studio

Themenstarter Thema begonnen von Speedgaming

Speedgaming ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Vielen Dank für den Edit.

mmhh Schade, soweit werde ich nicht einsteigen können, es ist tatsächlich das einzige was fehlt um das Programm fertig zustellen.

Habe die Grundprinzipien verstanden und bin auch echt lernwillig, aber da habe ich keinen Ansatz und finde auch wirklich nichts passendes.

Und jetzt html und java bzw den Browser komplett zu verstehen da fehlt mir die Zeit.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Speedgaming am 05.12.2019 21:50.

05.12.2019 21:48 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Speedgaming Speedgaming ist männlich
myCSharp.de-Mitglied

Dabei seit: 05.12.2019
Beiträge: 4
Entwicklungsumgebung: Visual Studio

Themenstarter Thema begonnen von Speedgaming

Speedgaming ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Habe jetzt doch versucht mich in die Thematik zu vertiefen.
Aber leider gelingt es mir nicht die Elemente im Iframe zu finden.

Über wb.document.links
Oder wb.document.getElementsByTagName("a")
Bekomme ich die Elemente aus dem Body des HTML document.
Aber nicht die aus dem Iframe.

Hat jemand einen Ansatz, wie ich das anstellen könnte?
Wenn ich erstmal Zugriff auf die Elemente habe, dann bekomme ich sie auch ausgeführt.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Speedgaming am 16.12.2019 20:24.

16.12.2019 20:23 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.453
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Erstes Suchergebnis bei Google:  How TO - Get Iframe Elements

Bitte beachte  [Hinweis] Wie poste ich richtig?, Punkt 1.1: "Erst suchen und in die Doku schauen, dann posten"
16.12.2019 23:41 Beiträge des Benutzers | zu Buddylist hinzufügen
Speedgaming Speedgaming ist männlich
myCSharp.de-Mitglied

Dabei seit: 05.12.2019
Beiträge: 4
Entwicklungsumgebung: Visual Studio

Themenstarter Thema begonnen von Speedgaming

Speedgaming ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Den weg habe ich ebenfalls probiert, aber bei
contentDocument oder contentWindow
bekomme ich die Meldung:
IHTMLElement' does not contain a definition for 'contentWindow' and no accessible extension method 'contentWindow' accepting a first argument of type 'IHTMLElement' could be found (are you missing a using directive or an assembly reference?)

Wüsste aber nicht, was ich noch hinzufügen muss als reference, damit es funktioniert.
Die HTML Object Library und Internet Controls habe ich bereits aktiviert. Und eine Reference mit DOM oder Window habe ich nicht gefunden.
18.12.2019 11:22 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 9 Monate.
Der letzte Beitrag ist älter als 9 Monate.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 22.09.2020 04:25