用selenium填写google表单中的日期



我在这个领域的新,我想让机器人使用硒来填写谷歌表单网站使用这个代码

from selenium import webdriver
import time
from datetime import datetime
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
today_date = datetime.today().strftime('%Y-%m-%d')
driver = webdriver.Chrome()
#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)
next = driver.find_element_by_css_selector("#mG61Hd > div.freebirdFormviewerViewFormCard.exportFormCard > div > div.freebirdFormviewerViewNavigationNavControls > div > div.freebirdFormviewerViewNavigationLeftButtons > div > span").click()

但是我不能点击下一步。Google表单无法识别日期

您可以使用下面的xpath来单击Next按钮。

//span[text()='Next']/..

代码中:

today_date = datetime.today().strftime('%Y-%m-%d')
driver = webdriver.Chrome()
#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)
wait.until(EC.element_to_be_clickable((By.XPATH, "//span[text()='Next']/.."))).click()

我找到了一个使用actionchains的解决方案,这是代码

from selenium import webdriver
import time
from datetime import datetime
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys

today_date = datetime.today().strftime('%Y-%m-%d')
driver = webdriver.Chrome()
#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)
element =driver.find_element_by_xpath("//span[text()='Berikutnya']")
element.click()
time.sleep(1)
webdriver.ActionChains(driver).key_down(Keys.ARROW_RIGHT).send_keys("a").perform()
time.sleep(1)
element.click()

最新更新