Хитрая конкатенация строк - PullRequest
0 голосов
/ 09 мая 2020

Мне нужно отформатировать строку так, чтобы она была в определенной c форме, но, к сожалению, все мои попытки не увенчались успехом ..

# 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()

Любая помощь будет очень признательна

Ответы [ 2 ]

2 голосов
/ 09 мая 2020

Вы пробовали использовать .format () ?

    driver.find_element_by_xpath("//*[@id=\"{0}\"]".format(moveToStep)).click()
1 голос
/ 09 мая 2020

Объединение строк с помощью + обычно не лучшая идея, python имеет несколько способов форматировать строки .

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

или Python 3.6+ вам можно использовать f-строки

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