【问题标题】:How do I use Selenium in Python to select a date 3 days ahead of today?如何在 Python 中使用 Selenium 选择今天前 3 天的日期?
【发布时间】:2021-01-20 04:24:00
【问题描述】:

大家好,我正在尝试编写一个脚本,以便在当前日期后 3 天自动在我的健身房预订一个位置,因为我往往会忘记预订它,而且我有点难以抓住日期。我在想我可以抓住当前日期并向右移动 3 个街区以提前 3 天预订。我还尝试使用 datetime 模块并将其输入到日历上方的文本框中,但这不起作用。任何帮助表示赞赏。谢谢!

from selenium import webdriver
import datetime

PATH = "C:/Users/user1/Downloads/Selenium drivers/chromedriver.exe"

driver = webdriver.Chrome(PATH)
driver.get(#Login Website Link)

user = "XXXXXXXXXXXXX"
password = "XXXXXXXXXXXXXXXXXXXXX"
number = "XXXXXXXXXXXXX"
purpose = "XXXXXXXXXX"
dep = "XXXXXXXXXXXX"

today = datetime.date.today()
bkDate = today + datetime.timedelta(days=3)
bkDate_new = bkDate.strftime("%a, %d-%m-%Y")
bkDateNum = bkDate.strftime("%d")

user_textbox = driver.find_element_by_id("j_username")
user_textbox.send_keys(user)

password_textbox = driver.find_element_by_id("j_password")
password_textbox.send_keys(password)

login_button = driver.find_element_by_css_selector("input.form-button")
login_button.click()

driver.get("#Booking Website Link")

number_textbox = driver.find_element_by_id("contact_no")
number_textbox.send_keys(number)

purpose_textbox = driver.find_element_by_id("purpose")
purpose_textbox.send_keys(purpose)

slot1 = driver.find_element_by_xpath("/html/body/div[2]/div[1]/div/div[2]/main/div[1]/fieldset/form/div[8]/div[2]/div[2]/div[1]/label[7]/i")
slot1.click()

bkDate_input = driver.find_element_by_xpath("/html/body/div[3]/table/tbody/[text() = '8']")
bkDate_input.click()

【问题讨论】:

    标签: python selenium google-chrome xpath automation


    【解决方案1】:

    到目前为止一切顺利,但您需要了解日历项的 html 结构。 在获取当前日期时,尝试从那里创建 2 个变量:月份和您要选择的日期。 现在,您只需要浏览 html 代码并根据可见文本创建定位器并单击它们。 (对于当月,您需要先点击下拉菜单才能看到所有选项)。

    【讨论】:

    • 我该怎么做呢?
    猜你喜欢
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多