Ich war neugierig, ob es eine Möglichkeit gab, ein Element zu finden, das Selenium und Python 2.7 durch mehrere "Schlüsselwörter" in beliebiger Reihenfolge verwendet. Lassen Sie mich mit einem Beispiel erklären:Wie finde ich ein Element durch mehrere Textstrings?
keyword1 = raw_input("Keyword: ").lower().title()
keyword2 = raw_input("Keyword: ").lower().title()
try :
clickOnProduct = "driver.find_element_by_xpath(\"//*[contains(text(), '" + keyword1 + "')]\").click()"
exec(clickOnProduct)
Dies ist nur ein Ausschnitt des Codes, aber wie kann ich das übernehme für ein Element zu suchen, die beide dieser Schlüsselwort enthalten (keyword1, keyword2) in jedem Auftrag? Es klingt im Prinzip einfach, und es ist wahrscheinlich, aber ich habe eine verdammt lange Zeit, um das zu bekommen. Irgendwelche Vorschläge würden sehr geschätzt werden, danke.
Ich scheine immer noch Probleme haben zu werden. Der Ausdruck sieht so aus: '// * [enthält (., 'Coat') oder enthält (., 'Car')]' aber es kann immer noch kein Element mit dem Text "Car Coat" gefunden werden. –
Verstanden! Vielen Dank, war ein einfacher Fehler meinerseits. Ich habe mein Problem behoben, indem ich '.join ([" enthält (., '% S') "' zu '.join ([" enthält (text(), '% s') "'. Danke für die Hilfe! –