Ich versuche, auf einen Link innerhalb einer Klasse zu klicken. Es ist nicht möglich, nach einem Tag, einer ID oder ähnlichem zu suchen, da das Programm die Seite aktualisiert, bis ein Ticket verfügbar ist.C# webBrowser bekomme Elemente innerhalb einer Klasse
der HTML-Code sieht wie folgt aus:
<div class="items available">
<div class="item">
<a href="link.com">
</div>
//more item classes
<div class="items sold">
<div class="item">
<a href="link.com">
</div>
//more item classes
ich denke, dass ich den Inhalt in „Veröffentlichungen“ müssen, und danach den Inhalt der Artikel und dort muss ich das ein Element klicken (es gibt nur ein Element). aber wie kann ich das tun?
das ist, was ich denke, dass es tun muss.
foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("div"))
{
if (el.GetAttribute("className") == "items available")
{
foreach (HtmlElement el2 in //get all elements within items available)
{
if (el2.GetAttribute("className") == "item")
//i think it will get the first item class within items available
{
foreach (HtmlElement el3 in //get all a elements within item)
{
el3.InvokeMember("click");
break;
}
}
}
}
}
aber ist das überhaupt möglich? Ich hoffe es!!
Danke !!!
"Tickets verfügbar"? meinst du "Artikel verfügbar"? – derloopkat
oops, ich meine "Artikel verfügbar". Ich werde das ändern haha. Vielen Dank! – Teun
Das Problem ist, wenn Sie versuchen, die divs aus dem Dokument zu bekommen, sind sie noch nicht geladen, weil der Prozess asynchron ist. Mein Rat ist, eine Web-Anfrage in C# zu machen, um die Seite zu erhalten und HtmlAgilityPack zum Extrahieren von Elementen aus HTML zu verwenden. – derloopkat