2017-12-31 45 views
0

umschreiben Wie kann ich diese CSS als Xpath oben aus dieser website mit ähnlicher Logik umschreiben?Wie kann ich diese CSS als xpath

Original-CSS:

.gl-Market_HasLabels + .gl-Market_PWidth-12-3333 .gl-ParticipantOddsOnly_Odds 

Ich habe versucht:

//div[contains(@class, 'gl-Market_HasLabels')] + //div[contains(@class, 'gl-Market_PWidth-12-3333')]//div[contains(@class, 'gl-ParticipantOddsOnly')] 

Diese XPaths arbeiten, aber nicht, wenn ich sie kombinieren.

Antwort

0

können Sie diesen XPath versuchen:

//div[contains(@class, 'gl-Market_HasLabels')]/following-sibling::div[contains(@class, 'gl-Market_PWidth-12-3333')]//div[contains(@class, 'gl-ParticipantOddsOnly')] 

Beachten Sie, dass + in CSS-Selektor bedeutet sofort nächsten Geschwister. following-sibling in XPath gibt alle folgenden Geschwister, aber Selen-Code, zB driver.find_element_by_xpath(...), werden Sie die erste zurück, (erforderlich)

oder Sie können Index Geschwister explizit festgelegt, dass Sie suchen möchten:

.../following-sibling::div[contains(@class, 'gl-Market_PWidth-12-3333')][1]//... 

Beachten Sie, dass in XPath-Indexierung von 1 beginnt, nicht 0

+0

Die ursprüngliche CSS gibt 3 Werte wo als ähnliche Xpath gibt 9 Werte. Ich werde mit dem Drucken Xpath testen, aber in Chrom inspizieren, dass passiert :) –

+0

Ich las Ihren Beitrag erneut. Danke fürs klarstellen. –

Verwandte Themen