笔记记录---等待元素
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time # WPS表单的网址 url = 'https://f.wps.cn/form-write/uwDUPB2N/' # 完成浏览器对象的初始化,设定超时时间为10秒。 browser = webdriver.Chrome() wait = WebDriverWait(browser, 10) browser.get(url) ################################ # 针对INPUT组件,XXX替换成自己的内容。 answer = wait.until(EC.element_to_be_clickable((By.ID, 'input_0'))) answer.send_keys('XXX') # 针对LABEL组件。 answer = wait.until(EC.element_to_be_clickable((By.ID, 'select_label_wrap_1_0'))) answer.click() # 针对INPUT组件,XXX替换成自己的内容。 answer = wait.until(EC.element_to_be_clickable((By.ID, 'input_2'))) answer.send_keys('18') # 针对LABEL组件。 answer = wait.until(EC.element_to_be_clickable((By.ID, 'select_label_wrap_3_0'))) answer.click() # 针对PICKER组件。 answer = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.ant-calendar-picker'))) answer.click() answer = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.ant-calendar-today-btn'))) answer.click() # 针对询问时间的INPUT组件。 localtime = time.localtime(time.time()) if localtime.tm_hour < 7: t = 0 print("填写时间为:0700-0900") elif localtime.tm_hour < 11: t = 1 print("填写时间为:1100-1200") else: t = 2 print("填写时间为:1800-2000") answer = wait.until(EC.element_to_be_clickable((By.ID, 'select_label_wrap_5_' + str(t)))) answer.click() ################################ # 等待10秒 time.sleep(10) # 点击提交 commit = wait.until(EC.element_to_be_clickable((By.ID, 'submit_button'))) commit.click() # 确认提交 yes = wait.until(EC.element_to_be_clickable((By.ID, 'bind_phone_modal_confirm_button'))) yes.click() # 反馈成功 print('Perfect!')