Seite 1 von 2

alle mögliche Websiten-Elemente auflisten

Verfasst: Dienstag 3. April 2018, 01:52
von Octarock
Hallo Community,

ich versuche jetzt gefühlt zeit einer Ewigkeit heraus zu finden, wie ich mit Selenium in Python Elemente einer Webseite nicht einfach nur zufällig auswähle sondern alle möglichen Ergebnisse auflisten kann, wenn mehrere div den selben Inhalt haben.
Ich habe auf der Website mehrere div mit den selben Eigenschaften in der Selben Gruppe (xPath und das suchen nach bestimmte Eigenschaften bringt mich also nicht weiter). Ich suche daher einfach nach den passenden Inhalt des Elements jetzt ist nur das Problem, dass mehrere Elemente gleich heißen und ich jetzt gerne alle möglichen Elemente auflisten würde und deren inhaltenen Links mit anderen Links anderer Elemente zu vergleichen, um schlussendlich die beiden Elemente zu finden, welche den selben Link haben (den Link kenne ich nicht).
Die Frage ist jetzt wie schaffe ich, dass alle passenden Elemente nach dem anderen Links untersucht werden und nicht nur ein zufälliges Element. Meine jetziger Code:

Code: Alles auswählen

element = driver.find_elements_by_tag_name('option')
Wenn ich das aber so mache nimmt er einfach eine zufälliges Element was halt "option" beinhaltet.
Freue mich über jegliche Hilfe :D

MFG Octarock

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Dienstag 3. April 2018, 05:07
von Sirius3
@Octarock: das kann nicht sein, die find_elements_by_xxx-Funktionen liefern alle Ergebnisse als Liste. Was beinhaltet `element`, wenn Du es ausgibst? Zeig doch Deinen gesamten Code.

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Dienstag 3. April 2018, 10:30
von Octarock

Code: Alles auswählen

links = driver.find_elements_by_partial_link_text('TV')
for link in links:
    print (link.get_attribute("href"))
Hier gibt es auf der Website 9 mögliche Elemente aber er gibt mir als Ergebniss genau einen Link.
Ich hab es auch mal mit anderen Schlüsselwörtern ausprobiert (von anderen Elementen) und da gibt er mir auch mehrere Links, aber immer noch zu wenig (z.B. nur 5 von 8 )

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Dienstag 3. April 2018, 10:45
von Sirius3
Ohne die Webseite zu kennen, kann man nicht sagen, warum Selenium angeblich nicht alle Links mit 'TV' findet. Bist Du schon alle <a>-Tags durchgegangen und hast geschaut, ob da alles dabei ist?

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Dienstag 3. April 2018, 22:07
von Octarock
Ich habe es jetzt noch ein paar mal getestet aber er findet immer unterschiedlich viele Links.
Es sind wie gesagt 9 Elemente die das Wort "TV" beinhalten und ja ich habe noch mal durch geschaut es ist ganz sicher enthalten.
Warum findet er beim selben Programm einmal 5 einmal 8 und dann einmal 7 Elemente.
Das müsste doch gleich swein egal wie die Website aufgebaut ist.

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Mittwoch 4. April 2018, 07:20
von Sirius3
Ohne die Webseite zu kennen, kann man nicht sagen, warum Selenium angeblich nicht alle Links mit 'TV' findet.

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Mittwoch 4. April 2018, 13:29
von Octarock
Aber das ist doch ein Problem was unabhängig von der Website ist. es kann doch nicht verschiedene Lösungen bei dem selben Befehl geben.
(bin nicht Zuhause habe also für die nächsten Tage keinen genauen Daten wie z. B. die website)

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Mittwoch 4. April 2018, 15:33
von Kebap
Bastel dir einfach ein kleines Beispiel, bei dem das gleiche passiert. Dabei lernst du meist genug.

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Freitag 6. April 2018, 21:26
von Octarock
[codebox=html5 file=Unbenannt.html]
<article>
<div class="inner-article">
<h1><a class="name-link" href="/shop/backpack/9sde44/p934857">Backpack</a></h1>
<p><a class="name-link" href="/shop/backpack/9sde44/p934857">Black</a></p>
</div>
</article>

<article>
<div class="inner-article">
<h1><a class="name-link" href="/shop/backpack/j406yxui/bdh7t">Backpack</a></h1>
<p><a class="name-link" href="/shop/backpack/j406yxui/bdh7t">Red</a></p>
</div>
</article>

<article>
<div class="inner-article">
<h1><a class="name-link" href="/shop/backpack/tnuz67n/n6456v">Backpack</a></h1>
<p><a class="name-link" href="/shop/backpack/tnuz67n/n6456v">Blue</a></p>
</div>
</article>

<article>
<div class="inner-article">
<h1><a class="name-link" href="/shop/backpack/j0rghxui/dfg5">Backpack</a></h1>
<p><a class="name-link" href="/shop/backpack/j0rghxui/dfg5">Yellow</a></p>
</div>
</article>
[/code]
Das ist jetzt mal ein Beispiel.
Ziel: Den Link vom blauen Rucksack heraus zu finden. (vielleicht hab ihr ja andere Lösungen die funzen)

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Mittwoch 18. April 2018, 20:23
von Octarock
hat hier wirklich niemand eine Idee ?
Da muss es doch eine Lösung gegeb!

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Mittwoch 18. April 2018, 22:34
von __deets__
Das Problem ist: dass was du beschreibst und präsentierst passt nicht mit den Erfahrungen hier zusammen. Es gibt keinen technischen Grund warum da nur eine teilmenge zurück kommt. Also ist das ein Problem auf deiner Seite. Ohne Code der das nachvollziehbar macht (heißt: in eine Datei speichern, laufen lassen, Fehler bekommen) kann man nur sagen “du machst was falsch.”

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Dienstag 24. April 2018, 16:15
von Octarock
also eine beispiel Seite wäre: http://www.supremenewyork.com/shop/all/bags

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Dienstag 24. April 2018, 16:27
von __deets__
Gut. Dann muss ich ja nur noch den Code für die Tags die du vermisst selbst schreiben, und schon geht’s los.... :roll:

Bitte schreib ein in sich geschlossenes Beispiel das dieses Verhalten zeigt. Sonst kann das hier keiner nachvollziehen.

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Dienstag 24. April 2018, 16:33
von Octarock
Es fehlen ja immer unterschiedliche !!
wenn ich jetzt z.b. nach den Div mit "Red" suche kommt einmal der Rücksack, Bauchtasche ... und einmal alles bis auf den Rucksack.

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Dienstag 24. April 2018, 17:58
von Sirius3
@Octarock: wie soll man Dir helfen, wenn Du nicht verrätst was Du genau machst...

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Dienstag 24. April 2018, 18:13
von Octarock
also noch mal auch wenn es schon im Verlauf genannt wurde.
Ich versuche jetzt bei dieser Seite den roten Rucksack automatisch auszuwählen, aber ohne den Link zu wissen, der sich hinter ihn verbirgt.
Also war meine Überlegung, dass ich alle Links der Elementen mit den Inhalt "Red" mit allen Links der Elementen mit den Inhalt "Backpack" vergleiche. Und die Elemente mit dem selben Link, ist dann der richtige Rucksack.(wenn euch andere Ideen einfallen nur zu ich freue mich über jede Lösung)
Nur ist das Problem, dass wenn ich alle Links von allen Elementen mit "Backpack" auflisten lasse, einmal der Link vom Blauen und Roten und dann einmal die Links vom schwarzen und Blauen.
Warum findet er nicht immer alle ??? und wie kann ich es lösen !!

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Mittwoch 25. April 2018, 20:11
von Octarock
versteht ihr es auch nicht oder kennt ihr keine Lösung ?

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Mittwoch 25. April 2018, 20:35
von Sirius3
@Octarock: wie soll man Dir helfen, wenn Du nicht verrätst was Du genau machst. Du hast bisher nur 3 Zeilen Code gezeigt, der ziemlich nutzlos ist, und alle Deine Beschreibungen sagen auch nicht genau, wie Du denn versuchst, die Seite zu lesen.

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Mittwoch 25. April 2018, 21:06
von Octarock
Ich weiß echt nicht mehr wie ich es euch klar machen soll.
mir ist es gerade egal wie ich die Links vergleiche, wie ich auf die Seite komme oder wie der Bot dann bezahlt.
Ich will gerdae nur eins nämlich, dass er alle, ALLLEEE Links von allen Elementen mit den Inhalt z.b. Rucksack findet und sie mir dann ausspuckt.
Ich verstehe nicht was denn hir noch für Infos fehlen ?
Mir ist es egal ob mein Code oder nicht, ob die Lösung kompliziert ist oder nicht, hauptsache er listet mir dann alle Links auf.
Wenn infos Fehlen bitte sagen welche ich weiß wirklich nicht was ich noch sagen soll

Re: alle mögliche Websiten-Elemente auflisten

Verfasst: Mittwoch 25. April 2018, 22:19
von Sirius3
@Octarock: Du hast ein Programm geschrieben, das die Daten von einer Webseite liest, das nach Deinen Angaben nicht funktioniert. Das kann aber niemand nachvollziehen, weil niemand Dein Programm kennt. Solange Du also das Programm nicht zeigst, kann Dir auch niemand helfen.