целочисленная переменная в элементе xpath python

#python #html #selenium #automation

Вопрос:

Я пытаюсь очистить html — таблицу, в которую каждые 30 минут добавляется новая строка внизу. Поэтому мне нужно добавить в элемент xpath переменное целое число к значению, которое будет увеличиваться каждые 30 минут. Мой код сейчас выглядит так:

 lastline = driver.find_element_by_xpath('//table[@width="517"]/tbody/tr[8]/td[8]')
 

Я пытаюсь простое объединение не сработало, потому что у меня двойная цитата»» внутри одинарной цитаты».
Поэтому я решил также поместить значение ширины таблицы в переменную, чтобы позже поработать со значением tr

  tablewidth = 517
 lastline = driver.find_element_by_xpath("/table[@width=' "   table   "/tbody/tr[8]/td[8']")
 

тогда я смог бы использовать простую конкатенацию, как упоминалось пару раз здесь, в slack. Но потом я начал сталкиваться с другой проблемой, кажется, что я не могу объединить строку с целочисленной переменной, кажется, это очень простая задача, которую нужно решить, но я застрял.
Кто-нибудь может мне помочь?

Комментарии:

1. Является ли строка f тем, что вы ищете? f'//table[@width="{tablewdith}"]/tbody/tr[8]/td[8]' . Вам нужно немного очистить свой пример… строки не совпадают, и вы используете ширину таблицы и таблицу.

Ответ №1:

Вам нужно преобразовать tablewidth в строку с str(tablewidth) как таковой:

 tablewidth = 517
lastline = driver.find_element_by_xpath("/table[@width=""   str(tablewidth)   ""]/tbody/tr[8]/td[8]")
 

Я также немного очистил код, потому что я думаю, что ваша строка была неверной. Теперь это выглядит так:

 print("/table[@width=""   str(tablewidth)   ""]/tbody/tr[8]/td[8]")
 
 /table[@width="517"]/tbody/tr[8]/td[8]