zoukankan      html  css  js  c++  java
  • 笔记记录---等待元素

    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!')
  • 相关阅读:
    .net调用Oracle存储过程
    Ext.Net基本讲解
    Sql Server数据库中的数据类型和c#的数据类型的映射表
    c#.net常用字符串函数 .
    Extjs & Ext.net中的一些属性
    Oracle表名做为参数 返回值
    Oracle CASE WHEN 用法介绍
    c开发策略之错误处理
    堆和栈的区别
    assert用法总结
  • 原文地址:https://www.cnblogs.com/ruichow/p/13578280.html
Copyright © 2011-2022 走看看