Я пишу робота веб-автоматизации с солениумом в python 3.8, который извлекает данные о продажах из интерфейса администратора, чтобы отправить сообщение через интерфейс администратора, чтобы поблагодарить их за покупку. Продажи проводятся в виде таблицы со следующей структурой.
<tr id="sale_row">
<td>Month | Day | Year | time of sale</td>
<td>Customer name | <a href="Link to message customer">Message Customer</a></td>
<td>item Purchased</td>
<td>Purchase Amount</td>
</tr>
Я хочу отправить сообщение только тем заказам, которые были сделаны за последние x дней (именно это и вызывает проблему, поскольку я не могу связать даты с href).
Пока мне удалось выбрать только те даты, которые я хотел получить, но не могу понять, как получить второй td, содержащий href, в систему обмена сообщениями.
Чтобы сопоставить даты, я создал строку, соответствующую формату их отметки времени, затем набрал для l oop требуемый диапазон дней и добавил вывод в список, а другой l oop который просматривает страницу, выбирая даты, а затем сравнивая их со списком требуемых дат и проверяя совпадение. (даты хранятся в 1-ом тд, который является единственным с классом «text-left»
cm = today_date.strftime("%b")
cd = today_date.day
target_day = cd - 7
days = range(target_day,cd+1)
sold_month = bot.find_elements_by_class_name("text-left")
target_days = []
active_sales =[]
for day in days:
target_date = target_days.append(cm+' '+str(day)+','+' '+str(cy))
for month in sold_month:
sale=active_sales.append(month.text[:-10])
for active_sale in active_sales:
#print("Active sale:",active_sale)
for target_day in target_days:
# print("Target Day:",target_days)
if target_day == active_sale:
print("Result:", active_sale)
. Приведенный выше список выбирает только те дни, которые нужны без проблем. Чтобы получить ссылку на Система обмена сообщениями во втором тд. Я попробовал следующее в последнем операторе if, он возвращает все ссылки для каждой продажи, что имеет смысл, но я не могу понять, как получить ссылку на систему обмена сообщениями на основе второго тд. 1-е число находится в диапазоне дат:
sales = bot.find_elements_by_xpath('//a[contains(@href, "/Inbox/New/")]')
Все ссылки обмена сообщениями различны, так как содержат идентификатор клиента, поэтому их необходимо сопоставить с датой.