Как вставить переменную в x_path? - PullRequest
0 голосов
/ 30 марта 2020

Мой код, который не работает

size_id = "'739'"

path = '"//div[@data-option-value-id=' + size_id + ']"'

driver.find_element_by_xpath(path).click()

рабочий код:

driver.find_element_by_xpath("//div[@data-option-value-id='739']").click()

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

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Если вы python 3.x, f-струны - ваши лучшие друзья:

path = f'//div[@data-option-value-id="{size_id}"]'
driver.find_element_by_xpath(path).click()

Ваша ошибка заключалась в том, что вы не вложили size_id в ".

path = '//div[@data-option-value-id="' + size_id + '"]' тоже может работать.

1 голос
/ 30 марта 2020

Вы были близки, просто запутайте цитату. Попробуйте приведенный ниже код.

size_id = "739"
path = "//div[@data-option-value-id='" + size_id + "']"

driver.find_element_by_xpath(path).click()

Или вы можете использовать функцию форматирования, которая намного проще.

size_id = "739"
driver.find_element_by_xpath("//div[@data-option-value-id='{}']".format(size_id)).click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...