python - Selenium Python-选择数据范围-LMLPHP

我已附上正在使用的日历的图片。
我试图选择2018年1月1日。但是,当我为10月(当前月份)以外的任何日期运行xpath时,它输入的是10月日期。因此,它将选择2018年10月1日而不是1月1日。

这是我目前正在使用的代码

#Open Table
link2 = driver.find_element_by_xpath('/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/ tr/td[2]/table/tbody/tr/td/form/table/tbody/tr[4]/td[4]/a/img')
link2.click()

#Select Jan 1
link3 = driver.find_element_by_xpath('//*[@id="ds_calclass"]/table/tbody/tr[4]/td[2]')
link3.click()


我只是希望看看是否有人遇到这个问题以及他们如何解决这个问题。

提前致谢!!

最佳答案

这可能不是最好的策略,但是我想出了一种方法,可以从这种日历上的当前日期起回溯几个月。

#Go back 1 month by clicking on the left arrow key
c1 = driver.find_element_by_xpath('//*[@id="ds_calclass"]/table/tbody/tr[1]/td[2]')
c1.click()

#Go back 2 months
c2 = driver.find_element_by_xpath('//*[@id="ds_calclass"]/table/tbody/tr[1]/td[2]')
c2.click()

#Go back 3 months
c3 = driver.find_element_by_xpath('//*[@id="ds_calclass"]/table/tbody/tr[1]/td[2]')
c3.click()
#Select A Date
link3 = driver.find_element_by_xpath('//*
[@id="ds_calclass"]/table/tbody/tr[4]/td[2]')
link3.click()


此代码使您可以从当月1日起追溯3个月。

PS:您可以通过找到左箭头的xpath,然后找到每月1号中的第一个的xpath来实现。

07-28 02:44
查看更多