【问题标题】:How to add two format strings如何添加两个格式字符串
【发布时间】:2021-02-05 14:54:01
【问题描述】:

这行代码的语法无效

sheets = ezsheets.Spreadsheet("id")
translation = sheets[1]
for x in range(2, 550):
    browser.find_element_by_xpath(f"//a[contains(text(), {translation[A{x}}]"))
    print(translation[f'B{x}'])

这里的翻译包含 ezsheets 对象,A 是列,而我希望 x 是一行

我也尝试过这种“.format”:

browser.find_element_by_xpath("//a[contains(text(, {}]".format(translation[f'A{x}']))

【问题讨论】:

  • 你想要类似翻译['A'] 例如翻译['A2']的东西吗?
  • @AbdulAzizBarkat Yeap
  • 那你的第二个选项不行吗?
  • @AbdulAzizBarkat Nope
  • 你尝试的时候发生了什么?这与应该发生的有什么不同?

标签: python selenium syntax formatting


【解决方案1】:

在您的模板中,您忘记关闭),因此计算的表达式具有无效的语法。你也有表达中的表达。

你有两个选择:

  1. browser.find_element_by_xpath('//a[contains(text(),{})]'.format(translation[f'A{x}']))

  2. browser.find_element_by_xpath(f'//a[contains(text(),{translation[f"A{x}"]})]')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多