Есть ли способ передать переменную из цикла в регулярное выражение find_element_by_xpath? - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь передать значения строки в find_element_by_Xpath (), чтобы получить поиск и совпадение для части значения атрибута. Как мне заставить это работать?

Я пробовал это на Python3.7 и библиотеке селена, не могу найти способ передать значение из цикла. Я пытался со следующим, но не работает

datasets = [  'ds_pos_retail_outlet','ds_pos_retail_fullset', 'ds_pos_retail_ProfitCenter','ds_pos_retail_Section']

for x in datasets :

    refreshNow= driver.find_element_by_xpath('//button[starts-with(@aria-describedby, x) and @title="Refresh now"]')
    refreshNow.click()
    time.sleep(8)

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

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

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

refreshNow = driver.find_element_by_xpath('//button[starts-with(@aria-describedby, ' + x + ') and @title="Refresh now"]')
0 голосов
/ 13 мая 2019

Одним из способов является использование format():

xpath = '//button[starts-with(@aria-describedby, {}) and @title="Refresh now"]'.format(x)
refreshNow= driver.find_element_by_xpath(xpath)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...