Python Xpath Enthält% s in Selen

Ich weiß, das muss wirklich, wirklich einfach sein, aber ich kann nicht ganz herausfinden, die Syntax für diese. Ich dachte, ich verstanden aber anscheinend nicht.

Der XPath hier funktioniert und wenn ich 'Mittwoch' anstelle von '% s' verwende, funktioniert es gut, aber ich versuche, den XPath eine Variable String mit diesem zu füttern:

texttolookfor = "Wednesday" buttonelement= webDriver.find_element_by_xpath("//tr[contains(., '%s')]/td[@class='button-cell']" % texttolookfor) 

Was gibt mir:

 <class 'selenium.common.exceptions.NoSuchElementException'> 

Aber das funktioniert:

 buttonelement= webDriver.find_element_by_xpath("//tr[contains(., 'Wednesday')]/td[@class='button-cell']") 

Also habe ich eindeutig falsch verstanden oder einen Fehler gemacht, den String zu füttern. Ich habe versucht, Variationen und Blick auf Beispielcode aber so weit wie mein Verständnis geht dies sollte gearbeitet werden. Ich würde es schätzen, wenn jemand etwas Licht verschütten könnte.

Wie in den Kommentaren gefragt, lief ich:

 print "//tr[contains(., '%s')]/td[@class='button-cell']" % texttolookfor 

Die produziert:

 //tr[contains(., ' Wednesday')]/td[@class='button-cell'] 

  • Extrahieren von Text zwischen Tags mit XPath einschließlich Markup
  • XPath-Prädikat mit Sub-Pfaden mit lxml?
  • Python lxml findall mit mehreren namespaces
  • Python, XPath: Finden Sie alle Links zu Bildern
  • Extrahieren von Tabellen aus einem DOCX Word Dokument in Python
  • Erhalten Sie die Liste der XML-Attributwerte in Python
  • Python Crawler nicht finden spezifische Xpath
  • Python lxml.html XPath "Attribut nicht gleich" Betreiber funktioniert nicht wie erwartet
  • Schaben von Web-Seite und Neuformatierung zu einer Kalender-Datei
  • Wie benutzt man Xpath in Python?
  • Python xpath funktioniert nicht?
  • Python ist die beste Programmiersprache der Welt.