问题背景
想要实现每天点击不同的日期,去自动操作一些重复的case
解决思路
先获取元素信息
td[title='2023-09-09'] div
发现这种格式 还是比较好处理的 只需要每天换日期就可以了
from datetime import datetime, timedelta
from selenium import webdriver
# 获取当前日期
current_date = datetime.now().date()
# 计算目标日期 我这里不能选择当天的所以加1天
target_date = current_date + timedelta(days=1) # 假设目标日期为当前日期的下一天
# 构建动态的XPath表达式
xpath_expression = f"td[title='{target_date}'] div"
# 点击元素
self.click(xpath_expression)
总结:使用datetime
模块获取当前日期,并通过timedelta
函数将其增加了一天以得到目标日期。然后,我们将目标日期插入到XPath表达式中,在每天点击不同日期时定位正确的元素
疑问
F:如果到了9.30 也会加1天 会变成9.31还是变成10.1号?
Q:查看规则得知datetime
方法会根据日期的处理规则进行运算,在日期运算中,当日期增加一天时,如果超过了当前月份的最大天数,日期会自动进位到下一个月。对于9月30日加一天,结果将是10月1日