#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]