Ich benutze Java und Selenium, um einen Test zu schreiben. In meinem DOM habe ich zwei svg
Tags. Einer von ihnen hat mehr als 2 innere path
Tags. Ich brauche diese svg
so erhalte ich verwendet:Wie benutze ich die count() - Funktion, um ein Element mit einer bestimmten Anzahl von inneren Tags zu erhalten
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(
"//*[local-name() = 'svg' and count(.//path)>'2']")));
oder
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(
"//*[local-name() = 'svg'] [count(.//path)>'2']")));
, aber es funktioniert nicht. Ich muss wissen, was damit nicht stimmt, also biete bitte andere Möglichkeiten an. Vielen Dank.
durch die Art und Weise sie gearbeitet:
//*[local-name() = 'svg' and count(.//*[local-name() = 'path' ])>'1']
oder
//*[local-name() = 'svg'][ count(.//*[local-name() = 'path' ])>'1']
Veröffentlichen Sie relevanten Teil Ihres HTML. Niemand kann sagen, warum ein xpath funktioniert, aber nicht der andere, ohne das entsprechende HTML/XML zu kennen. – har07
Nur ein freundlicher Tipp, den Sie vielleicht über diese Seite lesen möchten: [Der How-To-Ask Leitfaden] (https: // stackoverflow. com/help/how-to-ask), damit Sie immer sicher sein können, dass Ihre Fragen leicht zu beantworten und so klar wie möglich sind. Stellen Sie sicher, dass Sie alle Anstrengungen unternommen haben, die Sie unternommen haben, um das Problem zu beheben, das Sie haben, und was passiert ist, als Sie diese Korrekturen versuchten. Vergessen Sie auch nicht Ihren Showcode und eventuelle Fehlermeldungen! –