【问题标题】:Pick date in google form with selenium用硒在谷歌表格中选择日期
【发布时间】:2021-11-18 09:12:07
【问题描述】:

所以我尝试在 python 中使用 selenium 制作一个机器人,我在代码中停留在日期形式

from selenium import webdriver
from selenium.webdriver import ActionChains
import time

driver = webdriver.Chrome()
driver.maximize_window() # For maximizing window
driver.implicitly_wait(20) # gives an implicit wait for 20 seconds
website = driver.get("https://forms.gle/VUwbshGuXxDb7NRbA")
time.sleep(1)
tanggal = driver.find_element_by_xpath("//*[@id="mG61Hd"]/div[2]/div/div[2]/div/div/div/div[2]/div/div/div[2]/div[1]/div/div[1]/input").send_keys("12")

我已经尝试过使用click()send_keys(),但它不起作用

【问题讨论】:

  • 我们需要查看代码以进一步帮助您。
  • @cruisepandey 我刚刚编写了代码,因为真正的代码它不起作用(它是相同但不同的链接)而且我不知道它是如何工作的,我是这个东西的新手
  • 请看下文。
  • @cruisepandey 非常感谢您的帮助,对不起,我可以再问一下今天如何约会(抱歉英语不好)
  • @cruisepandey 你是我的英雄,非常感谢你,伙计

标签: python forms selenium bots google-forms


【解决方案1】:
  1. 使用显式等待
  2. 我可以在JS setAttribute 的帮助下更新日期。
  3. 日期格式为yyyy-mm-dd

代码:

from datetime import datetime
today_date = datetime.today().strftime('%Y-%m-%d')

driver = webdriver.Chrome(driver_path)
driver.maximize_window()
#driver.implicitly_wait(30)
wait = WebDriverWait(driver, 30)
driver = webdriver.Chrome(driver_path)
driver.maximize_window()
driver.implicitly_wait(30)
wait = WebDriverWait(driver, 30)
driver.get("https://forms.gle/VUwbshGuXxDb7NRbA")
time.sleep(1)
date= wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.quantumWizTextinputPaperinputInput")))
driver.execute_script(f"arguments[0].setAttribute('value', '{today_date}')", date)

进口:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多