一个棘手的字符串连接

A tricky concatenation of strings

我必须将字符串格式化为特定形式,但不幸的是我的所有尝试都失败了..

# What I want:
//*[@id="ember205"]

# What I am getting:
//*[@id=ember205]

# Additional details, where I need it and the way I am constructing it:
moveToStep = str("ember"+str(int(199)+int(step_number * 3)))
driver.find_element_by_xpath("//*[@id="+moveToStep+"]").click()

非常感谢任何帮助

您尝试过使用 .format() 吗?

    driver.find_element_by_xpath("//*[@id=\"{0}\"]".format(moveToStep)).click()

用 + 连接字符串通常不是最好的主意,python 有几种方法可以 format strings

moveToStep = 199 + step_number * 3
driver.find_element_by_xpath('//*[@id="ember{}"]'.format(moveToStep)).click()

或在 Python 3.6+ 上你可以使用 f-strings

moveToStep = 199 + step_number * 3
driver.find_element_by_xpath(f'//*[@id="ember{moveToStep}"]').click()