使用Selenium和Python在日历日期选择器中选择特定日期

使用Selenium和Python在日历日期选择器中选择特定日期,python,Python,请给我一段代码,我需要一些帮助。(我是一个完全的初学者,所以我的代码可能会一团糟,对此表示抱歉) 我正在尝试创建一个自动的“日期调度器”,在一周中的每个星期天预订一个网球场,因为我总是显得太晚,最后坐在那里吃苹果-_- 我面临的问题是selenium可以顺利地填充所有必需的字段,但是当涉及到日历时,我就是搞不清楚。 日期在tbody/tr/td元素中,xpath似乎无法识别它 作为参考,我使用的是Python3 Problem: Date element is found in th

请给我一段代码,我需要一些帮助。(我是一个完全的初学者,所以我的代码可能会一团糟,对此表示抱歉)

我正在尝试创建一个自动的“日期调度器”,在一周中的每个星期天预订一个网球场,因为我总是显得太晚,最后坐在那里吃苹果-_-

我面临的问题是selenium可以顺利地填充所有必需的字段,但是当涉及到日历时,我就是搞不清楚。 日期在tbody/tr/td元素中,xpath似乎无法识别它

作为参考,我使用的是Python3

    Problem: 

Date element is found in the following:
<td class="day">25</td>

刚刚创建了一个帐户并进行了测试。那对你方便吗

import selenium
from selenium import webdriver
from time import sleep
import time
from selenium.webdriver.support.ui import Select

driver = webdriver.Chrome('drivers/chromedriver72.exe')
driver.get('http://gobook.co.za/')
time.sleep(2)

User = driver.find_element_by_xpath("//input[@id='UserName']")
User.send_keys('testgeo')
time.sleep(1)

Psw = driver.find_element_by_xpath("//input[@id='Password']")
Psw.send_keys('testgeo')
time.sleep(1)

Button = driver.find_element_by_xpath("//input[@type='submit']")
Button.click()
time.sleep(2)

Booking = driver.find_element_by_xpath("//a[@href='/Bookings/Client']")
Booking.click()
time.sleep(0.5)

New = driver.find_element_by_xpath("//a[@data-toggle='collapse']")
New.click()
time.sleep(0.5)

Serv = Select(driver.find_element_by_xpath("//select[@id='ServiceId']"))
Serv.select_by_value("6")
time.sleep(0.5)


Prov = Select(driver.find_element_by_xpath("//select[@id='ProviderId']"))
Prov.select_by_value("22")
time.sleep(0.5)

driver.find_element_by_id("BookingDate").clear()
Date = driver.find_element_by_id("BookingDate").send_keys('2019/08/25')
time.sleep(0.5)

刚刚创建了一个帐户并进行了测试。那对你方便吗

import selenium
from selenium import webdriver
from time import sleep
import time
from selenium.webdriver.support.ui import Select

driver = webdriver.Chrome('drivers/chromedriver72.exe')
driver.get('http://gobook.co.za/')
time.sleep(2)

User = driver.find_element_by_xpath("//input[@id='UserName']")
User.send_keys('testgeo')
time.sleep(1)

Psw = driver.find_element_by_xpath("//input[@id='Password']")
Psw.send_keys('testgeo')
time.sleep(1)

Button = driver.find_element_by_xpath("//input[@type='submit']")
Button.click()
time.sleep(2)

Booking = driver.find_element_by_xpath("//a[@href='/Bookings/Client']")
Booking.click()
time.sleep(0.5)

New = driver.find_element_by_xpath("//a[@data-toggle='collapse']")
New.click()
time.sleep(0.5)

Serv = Select(driver.find_element_by_xpath("//select[@id='ServiceId']"))
Serv.select_by_value("6")
time.sleep(0.5)


Prov = Select(driver.find_element_by_xpath("//select[@id='ProviderId']"))
Prov.select_by_value("22")
time.sleep(0.5)

driver.find_element_by_id("BookingDate").clear()
Date = driver.find_element_by_id("BookingDate").send_keys('2019/08/25')
time.sleep(0.5)

非常感谢Kostas!:D工作得很好,.clear()似乎已经完成了这项任务。@wilcoscheeers很好,如果您将_键发送到日期字段,它将把新数据附加到现有数据中,它将具有2019/08/2212019/08/25,这是不允许的。因此,您首先清除输入,然后发送所需的值!很高兴这有帮助!:)非常感谢Kostas!:D工作得很好,.clear()似乎已经完成了这项任务。@wilcoscheeers很好,如果您将_键发送到日期字段,它将把新数据附加到现有数据中,它将具有2019/08/2212019/08/25,这是不允许的。因此,您首先清除输入,然后发送所需的值!很高兴这有帮助!:)