2016-09-28 4 views
0

xpath式でパラメータを使用しようとしていますが、運がありません。XPathでのパラメータの使用

field = //*[@id=%s]/optgroup[@label=%s]/*[contains(@title, %s)]"%(FIELDTYPE, label, fieldtype) 

私は間違っていますか?

答えて

3

は、プレースホルダの前後に引用符を忘れてはいけない:

"//*[@id='%s']/optgroup[@label='%s']/[contains(@title, '%s')]" % (FIELDTYPE, label, fieldtype) 

はまた、私はまた //*を追加したことに注意してください。

+0

文字列の 'repr()'を得るために '%r'プレースホルダを使うこともできます。これは、PythonとXPathの構文の違いによって複雑なケースでは望みませんが、ほとんどの場合、十分に十分である。 – kindall

+0

ああありがとう。なぜ私は 'を入れていないのかわからない – protea

+0

Btw、いつ私たちはxpathでパラメータを使う必要がありますか? (最初にxpathにパラメータが表示されています) – testerjoe2