请我需要一段代码的帮助。 (我是一个完全的初学者,所以我的代码可能很困惑,对此感到抱歉)
我正在尝试创建一个自动“日期调度程序”来预订每周日的网球场,因为我似乎总是太晚了,最终只能坐在一起吃苹果。 -_-
我面临的问题是 Selenium 可以顺利填写所有必填字段,但是当涉及到日历时我就是无法弄清楚。 日期位于 tbody/tr/td 元素中,xpath 似乎无法识别它。
仅供引用,我正在使用 Python 3
Problem:
Date element is found in the following:
<td class="day">25</td>
Xpath 无法准确识别此元素,我不知道如何选择日期,因为它没有标记
我已经尝试了所有方法,从使用 class/id/name/text/xpath 进行定位都没有成功,并且使用 Select(driver.find_element....) 会抛出 Select 无法与 div、tr、td 一起使用的错误。
尝试按照在线教程的建议使用 driver.find_element_by_visible_text("") 进行识别,但这不起作用。
Current Code is as follows:
import selenium
from selenium import webdriver
from time import sleep
import time
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome()
driver.get('http://gobook.co.za/')
time.sleep(2)
User = driver.find_element_by_xpath("//input[@id='UserName']")
User.send_keys('XXXXXXXXX')
time.sleep(1)
Psw = driver.find_element_by_xpath("//input[@id='Password']")
Psw.send_keys('XXXXXXXXX')
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)
Date = driver.find_element_by_id("BookingDate")
Date.click()
Date.send_keys('/25')
time.sleep(0.5)
Expected results = Select the date that falls on a Sunday (25th of August)
最佳答案
刚刚创建了一个帐户并进行了测试。这样对您方便吗?
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)
关于python - 使用 Selenium 和 Python 在日历日期选择器中选择特定日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57607436/