Ich habe eine Zeile, wo ich überprüfe, ob ein bestimmtes Element durch partiellen Text auf der Seite existiert.So behandeln Sie ein einzelnes Zitat in XPath
self.b.find_element_by_xpath(".//*[contains(text(), '%s')]" % item_text)
So ist es möglich, dass item_text
einen Apostroph in der Zeichenfolge hat. Zum Beispiel "Hanes Men's Graphic "
.
Es ist das wird self.b.find_element_by_xpath(".//*[contains(text(), 'Hanes Men's Graphic ')]")
In diesem Fall bekomme ich den Fehler:
InvalidSelectorError: Unable to locate an element with the xpath expression .//*[contains(text(), 'Hanes Men's Graphic ')] because of the following error:
SyntaxError: The expression is not a legal expression.
Was Operation sollte ich auf item_text
zuführen, bevor es in self.b.find_element_by_xpath(".//*[contains(text(), '%s')]" % item_text)
verwendet wird, ich weiß, dass ich benutzen kann, einfache Anführungszeichen um den Ausdruck und verwenden doppelte Anführungszeichen im Inneren, aber das ist nicht die Lösung, nach der ich suche.
tun müssen [Sie können überprüfen, wie zitiert in Python zu entkommen] (http://stackoverflow.com/a/3708167/3122133) – Madhan
Mögliche Duplikat [How to Escape Einzelne Anführungszeichen in Python auf dem Server, die in Javascript auf dem Klienten benutzt werden] (http://stackoverflow.com/questions/3708152/how-to-escape-single-quotes-in-python-ons-server-to-be-used -in-javascript-on-clie) – Madhan