Ich glaube nicht, Barak manos Antwort hat es vollständig erklärt.
Stellen wir einige Elemente wie die folgenden haben:
<div class="value test"></div>
<div class="value test "></div>
<div class="first value test last"></div>
<div class="test value"></div>
Wie XPath Spiele
Spiel nur 1 (genaue Übereinstimmung), Baraks Antwort
driver.findElement(By.xpath("//div[@class='value test']"));
Match 1, 2 und 3 (Match-Klasse enthält value test
, Klasse, um Angelegenheiten)
driver.findElement(By.xpath("//div[contains(@class, 'value test')]"));
Match 1, 2, 3 und 4 (solange die Elemente die Klassen value
und test
haben)
driver.findElement(By.xpath("//div[contains(@class, 'value') and contains(@class, 'test')]"));
Auch in Fällen wie diesem ist Css Selector immer für XPath (schnell, prägnant, nativ).
Spiel 1
driver.findElement(By.cssSelector("div[class='value test']"));
Match 1, 2 und 3
driver.findElement(By.cssSelector("div[class*='value test']"));
Match 1, 2, 3 und 4
driver.findElement(By.cssSelector("div.value.test"));